Přeskočit na hlavní obsah

Jak se naučit programovat v Pythonu



Python 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. V roce 2018 vzrostla jeho popularita a zařadil se mezi nejoblíbenější jazyky. V řadě různých žebříčků dosahuje jedno z prvních třech míst, výjimkou nebývají první místa.

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.

Python jazyk se vyvíjí a postupem času vznikly tři nekompatibilní major verze, Python (1), Python 2 a Python 3.

Python 1 se už nepoužívá. Python 0.9.0 byl vydán v roce 1991, Python 1.0 v roce 1994 a poslední verze 1.6.1 vyšla v roce 2000.

Python 2 je v útlumu. Verze 2.0 byla vydán v roce 2000, vydání poslední verze 2.7.18 je naplánováno na duben 2020. Od 1. ledna 2020 je dle PEP 373 oficiálně nepodporován. V podobě 2.7.18 bude druhá řada Pythonu zmrazena a nebude se nadále vyvíjet. PEP 404 uvádí, že nevznikne verze 2.8.

Python 3 je aktivní řada. Verze 3.0 byla vydána v roce 2008, je ve vývoji a poslední vydaná verze je 3.8.2. Řada 3 opravuje chybná a překonaná designová rozhodnutí. Např. Python 2 používá textové řetězce se zastaralým 8bit. kódováním, Python 3 přešel na moderní a univerzální Unicode textové řetězce.

Souběh řady 2 a 3. Python 2 a Python 3 byly mnoho let vyvíjeny paralelně. Do Pythonu 2 byly přeneseny některé nové vlastností z raných verzí Pythonu 3. Snahou bylo Python 2 a Python 3 k sobě co nejvíce přiblížit, aby byl usnadněn přechod řady existujících projektů z Pythonu 2 na Python 3. Byl to náročný úkol. Naplánovaný termín ukončení podpory Pythonu 2 se opakovaně oddaloval.

Verze 3.0 byla vydána téměř současně (o dva měsíce později) s verzí 2.6 v roce 2008.

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. 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 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.

Vzorové příklady a kurzy najdete již brzy zde.

Komentáře

Populární příspěvky z tohoto blogu

Skalní reliéfy u Kopicova statku

Ve skalách pod Kopicovým statkem, Jirošovou rychtou, vytvořil tehdejší majitel a lidový umělec Vojtěch Kopic galerii skalních reliéfů především z české historie. Jeho práce trvala téměř 40 let (1940 až 1978) a za tu dobu vzniklo přes 30 reliéfů postav, zvířat či průčelí staveb, často doplněných o citáty či poselství.

Vojtěch Kopic (1909–1978) se do stavení přiženil v roce 1932. Od čtyřicátých let až do své smrti v rokli pod statkem vytesal v pískovcových skalách řadu reliéfů, jejichž témata čerpal především z českých dějin. Památková ochrana těchto děl byla vyhlášena s účinností od 25. listopadu 2017 formou stanovení ochranného pásma kulturní památky Kopicův statek.

Po reliéfech vás provede značená stezka, odbočení na ní je vyznačeno turistickými směrovkami.

Kopicův statek (dříve Jirošova rychta) je roubená usedlost z konce 18. století, kulturní památka. Jedná se (spolu např. s Dlaskovým statkem) o jeden z nejzajímavějších příkladů lidové architektury pojizerského typu. Statek (Kacanovy …

Labská bouda

Labská bouda je soukromý hotel v Krkonoších, v první zóně Krkonošského národního parku. Labská bouda leží v nadmořské výšce 1340 metrů na Labské louce nedaleko města Špindlerův Mlýn. Několik set metrů od boudy se nachází pramen Labe. Vzhledem ke své poloze je především v zimním období významným orientačním prvkem. Moderní železobetonová devítipatrová budova z roku 1975 nese stejný název jako původní hostinec z 19. století, který vyhořel roku 1965. Přístupová komunikace vede z obce Horní Mísečky; od obce výše však není povolen vjezd soukromým vozidlům (dále autobusem a pěšky). V sobotu 17. listopadu 2018 v okolí Labské boudy začala hořet horská tundra. Požár byl ohlášen po 16. hodině, uhašen byl v půl osmé večer, zasahovalo celkem sedm požárních jednotek. Zasažená plocha činila asi 20 ha. Budova neutrpěla žádné škody díky opačnému směru větru. Požár byl zřejmě způsoben nedbalostí turistů.
Budova vznikla v polovině 19. století jako hostinec s ubytovacím zázemím. Již dříve zde ale údajně …

Vilémov, Rokytnice nad Jizerou, Krkonoše

Rokytnice nad Jizerou (německy Rochlitz an der Iser) je město a horské letovisko v západních Krkonoších. Nachází se v Libereckém kraji, v okrese Semily, v protáhlém údolí Huťského potoka mezi masivy hor Stráž (782 m), Čertova hora (1022 m) a Lysá hora (1344 m) a podél levého (východní) břehu řeky Jizery. Žije zde přibližně 2 600 obyvatel.
Celkem zahrnuje čtyři katastrální území: Dolní Rokytnice, Horní Rokytnice nad Jizerou, Rokytno v Krkonoších a Františkov v Krkonoších. Z evidenčního hlediska se v rámci Dolní Rokytnice navíc rozlišují ještě místní části Hleďsebe, Hranice a Studenov.
Katastrální území Dolní Rokytnice ve městě Rokytnice nad Jizerou zahrnuje kromě vlastní Dolní Rokytnice ještě sídelní celky Hleďsebe, Studenov, Liščí Díra, Hranice, Vilémov, Letní Strana, Zimní Strana, Malá Rokytnice. Na jihozápadě do něj spadá vrch Stráž. Do Dolní Rokytnice patří i kostel svatého Michaela archanděla.
Hranice mezi Dolní a Horní Rokytnicí probíhá náměstím před radnicí: většina plochy náměstí …