Difference between revisions of "Python"
From Christoph's Personal Wiki
(→See also) |
|||
Line 16: | Line 16: | ||
==Reserved words (native to Python)== | ==Reserved words (native to Python)== | ||
− | and | + | and elif global or |
− | assert | + | assert else if pass |
− | break | + | break except import print |
− | class | + | class exec in raise |
− | continue finally | + | continue finally is return |
− | def | + | def for lambda try |
− | del | + | del from not while |
+ | |||
+ | ==Array slicing== | ||
+ | If you have a list | ||
+ | |||
+ | nums = [1, 3, 5, 7, 8, 13, 20] | ||
+ | then the first 3 elements, middle 3 elements, and last 3 elements would be: | ||
+ | |||
+ | nums[:3] #equals [1, 3, 5] | ||
+ | nums[2:5] #equals [5, 7, 8] | ||
+ | nums[-3:] #equals [8, 13, 20] | ||
+ | |||
+ | Note that Python allows negative list indices. The index -1 represents the last element, -2 the penultimate element, etc. | ||
+ | Python also has more advanced slicing operators using the double colon (::) index operator. For example, the code: | ||
+ | |||
+ | nums[3::] #equals [7, 8, 13, 20] (starting at index 3 going to the end) | ||
+ | nums[::3] #equals [1, 7, 20] (starting at index 0 and getting every third element afterward) | ||
+ | nums[1::2] #equals [3, 7, 13] (starting at index 1 and getting every second element afterward) | ||
==See also== | ==See also== |
Revision as of 22:55, 6 November 2008
Python is an interpreted programming language created by Guido van Rossum in 1990. Python is fully dynamically typed and uses automatic memory management; it is thus similar to Perl, Ruby, Scheme, Smalltalk, and Tcl. Python is developed as an open source project, managed by the non-profit Python Software Foundation.
see: NumPy for tips on using this module.
Contents
Version history
- Python 2.5.2 — 2008-02-22
- Python 2.5.1 — 2007-04-18
- Python 2.4.4 — 2006-10-18
- Python 2.4.2 — 2005-09-28
Properties
- Python is strongly typed (i.e. types are enforced);
- dynamically, implicitly typed (i.e. you don't have to declare variables);
- case sensitive (i.e. var and VAR are two different variables); and
- object-oriented (i.e. everything is an object).
Reserved words (native to Python)
and elif global or assert else if pass break except import print class exec in raise continue finally is return def for lambda try del from not while
Array slicing
If you have a list
nums = [1, 3, 5, 7, 8, 13, 20]
then the first 3 elements, middle 3 elements, and last 3 elements would be:
nums[:3] #equals [1, 3, 5] nums[2:5] #equals [5, 7, 8] nums[-3:] #equals [8, 13, 20]
Note that Python allows negative list indices. The index -1 represents the last element, -2 the penultimate element, etc. Python also has more advanced slicing operators using the double colon (::) index operator. For example, the code:
nums[3::] #equals [7, 8, 13, 20] (starting at index 3 going to the end) nums[::3] #equals [1, 7, 20] (starting at index 0 and getting every third element afterward) nums[1::2] #equals [3, 7, 13] (starting at index 1 and getting every second element afterward)
See also
- pypi - Python Package Index
- SciPy
- NumPy
- Parallel Python ("pp" module)
- TurboGears
- PyEphem — an astronomy library for Python
- urlgrabber
- Pyparsing (with Pyparsing introduction: BNF to code and wikipedia:Backus–Naur form)
- Beautiful Soup — a Python HTML/XML parser designed for quick turnaround projects like screen-scraping.
- pyRXP — an XML parser
- Pexpect — expect for Python
- Smug — a wiki built with git as the backend (also using Python and Djanjo)
- gitshelve — using git as a versioned data store in Python
- PADS — a library of Python Algorithms and Data Structures implemented by David Eppstein of the University of California, Irvine.
Graphics
- Python Imaging Library (PIL)
- Matplotlib — a python 2D plotting library which produces publication quality figures
- python(x,y) — a free scientific and engineering development software for numerical computations, data analysis and data visualization
- SAGE: Open Source Mathematics Software
- Python Google Chart (maps)
- SymPy — a Python library for symbolic mathematics.
Bioinformatics
- BioPython
- PySAT: Python Seqeuence Analysis Tools
- Noah Hoffman code
- Blast Parser — by Arne Muller
- Leighton Pritchard code
- PISE
- NodeBox: Graph
External links
- Python.org — Official site
- PythonInfo Wiki
- Perl/Python Phrasebook
- Rosetta Code
- Yet Another Rosetta Code Problem (Perl, Ruby, Python, Haskell, ...)
- Python 2.5 Quick Reference
- Byte of Python
- pydoc.org: Python Documentation Online
- PerformancePython
- MPI for Python
- Pyxer — a Python AJAX Server/ Framework
- Debugging in Python
- wikipedia:python
Online books/tutorials
- Building Skills in Python: A Programmer's Introduction to Python — by Steven F. Lott (2007)
- Beginning Python for Bioinformatics
- Python course in Bioinformatics
- Learn Python in 10 minutes — from Poromenos's Stuff
- Dive Into Python — Python from novice to pro — download entire eBook.
- Python 101 cheat sheet
- Python HOWTOs