Cílem kurzu je seznámit se s programovacím jazykem Python, zejména s jeho praktickým využitím pro vědecké a inženýrské účely.
Proč Python?¶
Python je dnes jedním z nejoblíbenějších jazyků vůbec (1. na Tiobe index v únoru 2024). Je jasně nejvíce používaným jazykem pro data science a ve vědecké a inženýrské komunitě hraje čím dál důležitější úlohu. Nutno říci, že zaslouženě!
Základní vlastnosti Pythonu¶
Dynamicky typovaný jazyk.
Silně typovaný (strongly typed) jazyk.
Čistě interpretovaný jazyk, který běží ve vlstním virtuálním stroji (VM - Virtual Machine).
Obsahuje garbage collector, který využívá reference counting.
Obsahuje rozsáhlou vestavěnou knihovnu modulů a funkcí.
Svobodná licence (Python Software Foundation License -- PSFL).
Filozofie Pythonu¶
Filozofie (Zen) a vlastnosti Pythonu jsou založeny na
co nejjednodušší a čitelné syntaxi,
více programovacích stylů (paradigmat): objektově orientované programování, strukturované programování, funkcionální programování, aspektově orientované programování,
rošiřitelnosti,
silných konvencích (které jsou často přednější než samotná sytaxe).
Více najdete v PEP 20 -- The Zen of Python
Takto vypadá "Hello world! v Pythonu¶
print("Hello world!")Hello world!
Historie¶
Historie sahá do roku 1980, implementaci zahájil v roce 1989 Guido Van Rossum. Ten byl donedávna hlavní postavou (tzv. Benevolent Dictator for Life---BDFL) Python komunity. V současnosti dohlíží nad vývojem Pythonu Python Steering Council a Python Software Foundation. Vydání Pythonu v datumech:
Python 1.0 - 1994
Python 1.6 - 2000
Python 2.0 - 2000
Python 2.7 - 2010
Python 3.0 - 2008
Python 3.12 - 2023
Python 2 vs. 3¶
Python 3 napravil některé neduhy, které vypluly na povrch v Pythonu 2 -- viz http://
Další Pythony¶
Python jakožto jazyk je jeden, existuje však více implementací jeho interpreteru (t.j. programu, který zpracovává a vykonává příkazy). Referenčním interpreterem je v C napsaný CPython, dostupný z www.python.org. Ostatní implementace se k němu vztahují a snaží se o kompatibilitu.
PyPy - implementace Pythonu v... Pythonu, která může být díky JIT kompilaci rychlejší než CPython.
MicroPython - implementace Pythonu pro mikrokontroléry, která je dostatečně malá a rychlá pro využití v embedded systémech.
Pyodide - Python v prohlížeči, který běží na WebAssembly. Tak mohly nedávno vzniknout velice zajímavé projekty jako JupyterLite nebo PyScript.
Jython - implementace Pythonu v Javě, která umožňuje používat objekty (a knihovny) Javy z Pythonu.
IronPython - implementace Pythonu pro .NET, která umožňuje využívat možnosti prostředí .NET.
Celkem přehledné vysvětlení toho, co je který “Python” zač, nalezenete v článku Why are there so many Pythons?.