Programování (1) – první přednáška | úvod programovací jazyk Python

Programování (1) – první přednáška | úvod programovací jazyk Python

Python (anglická výslovnost [ˈpaiθən]) je vysokoúrovňový skriptovací programovací jazyk, který v roce 1991 navrhl Guido van Rossum. Nabízí dynamickou kontrolu datových typů a podporuje různá programovací paradigmata, včetně objektově orientovaného, imperativního, procedurálního nebo funkcionálního.

Python je vyvíjen jako open source projekt, který zdarma nabízí instalační balíky pro většinu běžných platforem (Unix, MS Windows, macOS, Android); ve většině distribucí systému GNU/Linux je Python součástí základní instalace.

Mimo jiné je v něm implementován aplikační server Zope, instalátor a většina konfiguračních nástrojů Linuxové distribuce firmy Red Hat.

RNDr. Andrej Blaho, PhD. úvod programovací jazyk Python
RNDr. Andrej Blaho, PhD. úvod programovací jazyk Python

V současné době (2018) se používají dvě nekompatibilní verze Pythonu 2.x a 3.x. Python 3.x byl vydán v roce 2008 a odstraňuje řadu nedostatků a chybných návrhů jazyka, které nešlo odstranit bez narušení kompatibility. Python 3.x má proto ucelenější návrh. Ale i po vydání 3.0 byl Python 2.x stále vyvíjen a dostávaly se do něj nové vlastnosti z 3. řady. Přechod na novou verzi, portace knihoven třetích stran a následně programů tak byl a stále je nad očekávání pomalý a není ukončen dodnes. Například v Linuxových distribucích jsou běžně nainstalované obě verze Pythonu. V roce 2017 bylo ohlášeno, že Python 2.x přestane být podporován ze strany vývojářů v roce 2020. Lze očekávat, že jeho útlum nabere rychlejší spád.

Vlastnosti
Python 3. The standard type hierarchy.png
Python je dynamický interpretovaný jazyk. Někdy bývá zařazován mezi takzvané skriptovací jazyky. Jeho možnosti jsou ale větší. Python byl navržen tak, aby umožňoval tvorbu rozsáhlých, plnohodnotných aplikací (včetně grafického uživatelského rozhraní – viz například wxPython, který využívá wxWidgets, nebo PySide a PyQT pro Qt, a nebo PyGTK pro GTK+).

Python je hybridní jazyk (nebo také víceparadigmatický), to znamená, že umožňuje při psaní programů používat nejen objektově orientované paradigma, ale i procedurální a v omezené míře i funkcionální, podle toho, komu co vyhovuje nebo se pro danou úlohu hodí nejlépe. Python má díky tomu vynikající vyjadřovací schopnosti. Kód programu je ve srovnání s jinými jazyky krátký a dobře čitelný.

K význačným vlastnostem jazyka Python patří jeho jednoduchost z hlediska učení. Bývá dokonce považován za jeden z nejvhodnějších programovacích jazyků pro začátečníky.[zdroj?] Tato skutečnost je dána tím, že jedním z jeho silných inspiračních zdrojů byl programovací jazyk ABC, který byl jako jazyk pro výuku a pro použití začátečníky přímo vytvořen. Python ale současně bourá zažitou[zdroj?] představu, že jazyk vhodný pro výuku není vhodný pro praxi a naopak. Podstatnou měrou k tomu přispívá čistota a jednoduchost syntaxe, na kterou se při vývoji jazyka hodně dbá. K definici bloků se v Pythonu (na rozdíl od většiny jazyků) používá pouze odsazování.

Význačnou vlastností jazyka Python je produktivnost z hlediska rychlosti psaní programů. Týká se to jak nejjednodušších programů, tak aplikací velmi rozsáhlých. U jednoduchých programů se tato vlastnost projevuje především stručností zápisu. U velkých aplikací je produktivnost podpořena rysy, které se používají při programování ve velkém, jako jsou například přirozená podpora jmenných prostorů, používání výjimek, standardně dodávané prostředky pro psaní testů (unit testing) a dalšími. S vysokou produktivností souvisí dostupnost a snadná použitelnost široké škály knihovních modulů, umožňujících snadné řešení úloh z řady oblastí.

Python se snadno vkládá do jiných aplikací (embedding), kde pak slouží jako jejich skriptovací jazyk. Tím lze aplikacím psaným v kompilovaných programovacích jazycích dodávat chybějící pružnost. Jiné aplikace nebo aplikační knihovny mohou naopak implementovat rozhraní, které umožní jejich použití v roli pythonovského modulu. Jinými slovy, pythonovský program je může využívat jako modul dostupný přímo z jazyka Python (tj. extending, viz sekce Spolupráce s jinými aplikacemi).

Programování v Pythonu klade velký důraz na produktivitu práce programátora. Myšlenky návrhu jazyka jsou shrnuty ve filosofii Pythonu.

Nebezpečnou vlastností Pythonu je, že obsahuje nedokumentované funkce a lokální proměnné, které mohou být zneužity pro spuštění příkazu v operačním systému.

Pro Python je v provozu jeho vlastní repozitář balíčků s knihovnami, PyPI, který podporuje snadnou instalaci balíčků programem pip.