Stránka ve výstavbě
Inkwell icon - Noun Project 2512.svg Na této stránce se právě pracuje. Prosím needitujte tuto stránku, dokud na ní zůstává tato šablona. Předejdete tak editačnímu konfliktu. Jestliže uběhla od poslední editace doba alespoň dvou dnů, neváhejte tuto šablonu odstranit. Inkwell icon - Noun Project 2512.svg

Python je vysokoúrovňový skriptovací programovací jazyk, který v roce 1991 navrhl Guido van Rossum. Nyní patří k jedním z nejpopulárnějších jazyků. Používá efektivní vysokoúrovňové datové typy, přičemž jednoduše a elegantně řeší otázku objektově orientovaného programování. Jeho syntaxe a dynamické typy spolu s interpretováním kódu dotváří pověst ideálního nástroje pro psaní skriptů a rychlý vývoj aplikací ( Rapid Application Development,RAD). Samotný interpretr jazyka je spustitelný na velkém množství platforem včetně Linuxu, Windows, MacOS a DOS.

Zdrojové kódy interpretru Pythonu a standardních knihoven jsou volně ke stažení z domovské stránky Pythonu(http://www.python.org/)a je možné je dále volně modifikovat a distribuovat.

Prostředí jazyka je snadno rozšiřitelné pomocí funkcí a datových typů napsaných v jazycích C nebo C++. Python lze také použít jako skriptovací jazyk pro aplikace v jiných jazycích. [1]

Programy v Pythonu jsou velice kompaktní a snadno pochopitelné. Zároveň jsou typicky mnohem kratší než ekvivalentní kód implementovaný v C nebo C++a to z mnoha důvod:

  • vysokoúrovňové datové typy umožňující rychlé a komplexní operace v jediném výrazu;
  • seskupování výrazů se děje pomocí odsazení narozdíl od používání otevírací a uzavírací složené závorky v C a C++;
  • není nutné deklarovat proměnné a argumenty funkcí, jazyk dokonce nerozlišuje ani jejich typ[1]

Syntaxi Pythonu lze považovat za jednoduchou na pochopení, díky čemuž pak lze dosahovat při psaní programů vysoké efektivity a rychlosti. Zároveň tato syntaxe nutíkpsaní pečlivě strukturovaného kódu, což se ve výsledku pozitivně odráží jak na jehopřehlednosti, tak na čitelnosti a celkové eleganci hotových programů. Syntaxe Pythonu bývá obvykle velice úsporná. Jedná se o tzv. „case sensitive“synatxi, jež rozlišuje malá a velká písmena. Python eliminuje používání závorek na nezbytné minimum. Příkazy jsoudojednoho bloku seskupeny na základě shodného odsazení, tzn. shodného počtu mezerči tabulátorů tytopřitom není možné kombinovat. Příkaz, za kterým následuje vnořený blok, je pak obvykle uvozen dvojtečkou. Následující ukázky výše zmíněné ilustrují (nejedná seospustitelný kód), přičemž porovnávají vytváření bloků v Pythonu a Pascalu. [2]

Implementace Pythonu

Brython

Jedná se o transpřekladač z Pythonu do JavaScriptu, přičemž samotný překlad (resp. přesněji řečeno transpřeklad) probíhá na pozadí, což znamená, že přímo v kódu webové stránky je umístěn (či načítán) kód v Pythonu. Výhodou Brythonu je, že se jakékoli úpravy ihned projeví v aplikaci po znovunačtení stránky (F5). [3]

CPython

Referenční implementace interpretu programovacího jazyka Pythonu. Je napsaná v jazyce C a v Phytonu. Interpret, který spouštíme příkazem python3. Je rychlý, stabilní a poskytuje širokou skupinu volitelných rozšíření. CPython je vyvíjen jako open-source projekt. Řízen je PSF a je dostupný pod svobodnou licencí. [4]

Cython

IronPython

Jython

PyPy

alternativní implementace Pythonu napsaná v RPythonu. PyPy se pyšní 6x větší rychlostí kódu než standardní Python interpety. Své rychlosti dosahuje díky použití JIT (Just In Time) kompilátoru.

RPython

získal své jméno ze sousloví „Restricted Python“. Není interpretován, ale skutečně překládán do objektového kódu a z výsledku se vytváří spustitelná aplikace. Celý proces zpracování je poměrně komplikovaný a zdlouhavý. Typicky používá pro psaní interpretrů dalších programovacích jazyků. [5] RPython je určen pro překlad programů napsaných v podmnožině programovacího jazyka Python do nativního kódu, ať již se jedná o přímo spustitelný kód či o dynamicky linkovanou knihovnu (.so, .dll). [6]

  • RustPython

http://howto.py.cz/cap02.htm

Zdroje

Reference

  1. 1,0 1,1 ŠVEC, Jan. Učebnice jazyka Python (aneb Létající cirkus). [online]. 2002 [cit. 2020-10-13]. Dostupné z: http://macek.sandbox.cz/texty/python-tutorial-cz/python-tutorial-cz-a4-2.2.pdf.
  2. KOTEK, Lukáš. Výuka algoritmizace a programování se zaměřením na programovací jazyk Python [Algorithms and Programming Education with a focus on the programming languagePython]. Praha, 2012. 128 s. Diplomová práce. Univerzita Karlova v Praze, Pedagogická fakulta, Katedra informačních technologií a technické a informační výchovy. Vedoucí diplomové práce Ing. Jaroslav Novák, Ph.D.
  3. TIŠNOVSKÝ, Pavel. Brython aneb použití jazyka Python ve skriptech přímo v prohlížeči. Root.cz [online]. 2019 [cit. 2020-10-13]. Dostupné z: https://www.root.cz/clanky/brython-aneb-pouziti-jazyka-python-ve-skriptech-primo-v-prohlizeci/#k07
  4. FALTÝNEK, Lukáš. Python není krajta. Linux EXPRES [online]. 2007 [cit. 2020-10-13]. Dostupné z: https://www.linuxexpres.cz/praxe/python-neni-krajta
  5. TIŠNOVSKÝ, Pavel. RPython: překvapivě výkonný dialekt Pythonu, na němž je založen PyPy. Root.cz [online]. 2018 [cit. 2020-10-14]. Dostupné z: https://www.root.cz/clanky/rpython-prekvapive-vykonny-dialekt-pythonu-na-nemz-je-zalozen-pypy/
  6. TIŠNOVSKÝ, Pavel. RPython vs Cython aneb dvojí přístup k překladu Pythonu do nativního kódu. Root.cz [online]. 2018 [cit. 2020-10-14]. Dostupné z: https://www.root.cz/clanky/rpython-vs-cython-aneb-dvoji-pristup-k-prekladu-pythonu-do-nativniho-kodu/#k10

Doporučená literatura

  • Seitz, Justin. Black hat Python: Python programming for hackers and pentesters [online]. San Francisco, California: No Starch Press, 2015, ©2015 [cit. 2020-10-13]. ISBN 978-1-59327-655-3. Dostupné z: http://ebookcentral.proquest.com/lib/natl-ebooks/detail.action?docID=1931622.
  • Galea, Alex. Beginning data analysis with python and Jupyter: use powerful industry-standard tools to unlock new, actionable insight from your existing data [online]. Birmingham: Packt Publishing, [2018], ©2018 [cit. 2020-10-13]. ISBN 978-1-78953-465-8. Dostupné z: https://ebookcentral.proquest.com/lib/natl-ebooks/detail.action?docID=5419744.
  • Coelho, Luis Pedro. Building machine learning systems with Python: get more from your data through creating practical machine learning systems with Python [online]. Second edition. Birmingham, England: Packt Publishing, 2015, ©2015. Community Experience Distilled [cit. 2020-10-13]. ISBN 978-1-78439-288-8. Dostupné z: http://ebookcentral.proquest.com/lib/natl-ebooks/detail.action?docID=2000929.
  • Chollet, François. Deep learning v jazyku Python: knihovny Keras, Tensorflow. Překlad Rudolf Pecinovský. První vydání. Praha: Grada Publishing, 2019. 328 stran. Knihovna programátora. Myslíme v. ISBN 978-80-247-3100-1.
  • Karkera, Kiran R. Building probabilistic graphical models with Python: solve machine learning problems using probabilistic graphical models implemented in Python with real-world applications [online]. Birmingham, [England]: Packt Publishing, 2014, ©2014. Community Experience Distilled [cit. 2020-10-13]. ISBN 978-1-78328-901-1. Dostupné z: https://ebookcentral.proquest.com/lib/natl-ebooks/detail.action?docID=1688634.

Související články

Počítač
Software
PHP
NodeXL: Programovací jazyky Ruby a C++ očima Twitter diskuzí

Klíčová slova

Phyton, programovací jazyk, programování, počítač