Python
Z CHWiki
Obsah |
[editovat] Historie
Python začal psát Guido van Rossum na Stichting Mathematisch Centrum. Od té doby byl chvíli open source, chvíli proprietární apod. V současnosti je opět open-source. Již brzy bude vydána přelomová verze 3.0.
[editovat] Druh jazyka
Interpretovaný, vysokoúrovňový, s objektově orientovaným programováním a dynamickými typy.
[editovat] Použití
Spíše pro aplikace než systémové záležitosti, je vhodný i pro různé malé nástroje (konfigurační apod.) Dále se často používá jako skriptovací jazyk pro větší programy.
[editovat] Programy v něm napsané
- Distribuovaný systém správy verzí Mercurial (www.selenic.com/mercurial)
- Python je hodně využíván Googlem
- Tuším že se používá i na www.seznam.cz
- Free modelovací program Blender (http://www.blender3d.org/) používá Python jako svůj skriptovací jazyk,
- Webový framework Django
[editovat] Přenositelnost
Téměř 100%. Pokud nevyužíváte knihovny specifické pro platformu (což u Pythonu je nutné jen málokdy), není problém program spustit na všech platformách, pro které existuje interpretr. Mezi ně patří dokonce i mobilní platforma Symbian S60.
[editovat] Co nabízí
- Automatická správa paměti
- objektově orientované programování (i když ne do posledního puntíku jako třeba Smalltalk).
- Vícenásobná dědičnost.
- Vestavěná podpora výjimek.
- Dá se rozšířit pomocí modulů napsaných v C a může být použít jako skriptovací jazyk z programů v C/C++.
- Vlastní dokumentační systém pro dokumentaci přímo ve zdrojovém kódu.
- S funkcemi lze pracovat jako s objekty, takže lze používat přístupy z funkcionálního programování, podporuje lambda výrazy.
- Anotace funkcí pro modifikaci jejich chování, ve verzi 3 i anotaci tříd.
- Generátory.
- Přetěžování operátorů.
[editovat] Knihovny
- Python má poměrně rozsáhlou vlastní knihovnu pro základní, ale i některé pokročilejší operace (obsahuje např. i HTTP server).
- Další knihovny pro práci s OpenGL, Cairo, ...
- Vazby na oblíbené GUI frameworky jako například wxWidgets, pyGTK, ...
- Mnoho vědeckých aplikací, numpy, scipy, sympy, matplotlib
[editovat] Příklady
Klasika
def hello(): "This method greets the user politely." print "Hello world"
Ukázka list comprehension a operátoru pro vyseknutí části řetězce/pole
self.stored_succs = [SegmentNode.create(x) for x in data if self.sequence[-SAME_LEN:] == x[:SAME_LEN]]
ActionScript – BASIC – C – C++ – C# – Delphi – Java – JavaScript – Pascal - Python - PHP - Ruby - SmallTalk – Visual Basic
