Poznámka šéfredaktora: Možná budete mít pocit, že už bylo o Pythonu napsáno úplně vše a že je tedy zbytečné pouštět se do dalšího seriálu. My jsme ovšem zjistili, že tomu tak není. Informace jsou buď příliš stručné a neúplné, nebo naopak hodně detailní a rozsáhlé. Chybí „něco mezi“, co by posloužilo člověku, který chce s Pythonem začít (už třeba proto, že je v něm psáno čím dál víc skriptů pro běžnou funkci linuxových distribucí, znalost se tedy hodí i administrátorům) a nechce se brodit dlouhými texty. Seriál je proto tady a věříme, že bude užitečný.
Na internete existuje viacero seriálov, elektronických kníh či video tutoriálov venujúcich sa programovaniu v Pythone. Väčšina je samozrejme v angličtine a československá časť je tvorená prevažne zo starších tutoriálov k Python 2, alebo predpokladajú predchádzajúcu skúsenosť s programovaním.
Keď už som spomenul Python 2: Python sa momentálne vyvíja v dvoch verziách, a to Python 2 a Python 3. Python 2 je, ako už z čísla vyplýva, staršia verzia Pythonu. Táto verzia je však ešte stále vyvíjaná a používaná hlavne kvôli nedostupnosti niektorých knižníc v novej verzii. Čo sa týka rozdielov medzi verziami 3 a 2, nie je ich veľa a možno si postupne nejaké ukážeme. Osobne preferujem verziu 3, a preto sa jej budem venovať v tomto seriáli.
Seriál by som chcel písať tak, aby bol vhodný aj pre začiatočníkov v programovaní. Jediným predpokladom sú základy matematiky a logiky. To, že bude seriál vhodný pre začiatočníkov, však neznamená, že je určený len pre nich. Pokiaľ už máte nejaké skúsenosti s programovaním, máte príležitosť rozšíriť si svoj jazykový repertoár. Určite nie je zlé byť polyglotom v oblasti programovania. :)
Čo je Python zač?
Python (čítaj „Paiton“, anglicky: paɪ.θən) je interpretovaný programovací jazyk, ktorý sa používa na rôzne účely od výpočtov a jednoduchých konzolových programov až po rozsiahle aplikácie s grafickým prostredím, na ktoré je bežný užívateľ zvyknutý. Takisto je často používaný aj ako programovací jazyk webových aplikácií, ktorý beží na serveri (podobne ako rozšírené PHP).
Interpretovaný? Čo to znamená?
Znamená to, že pre spustenie vašeho programu je potrebný ďalší program – interpreter. Na rozdiel od kompilovaných jazykov, v ktorých sa zdrojový kód prevádza do kódu strojového a vytvára tak samostatne spustiteľný program, ktorý by mal byť schopný bežať bez ďalších dodatkov na akomkoľvek zariadení s rovnakým operačným systémom a platformou, je zdrojový kód Pythonu jednoducho prenosný medzi všetkými platformami, na ktorých je dostupný jeho interpreter.
To, že je Python interpretovaný, však neznamená, že neexistuje spôsob, ako ho (teda, váš kód) skompilovať. Existuje množstvo nástrojov určených na kompiláciu Python programov. Kompilácia nám napríklad zabezpečí nedostupnosť kódu pre užívateľa, avšak prídeme tak o značnú prenosnosť programu naprieč platformami.
Inštalácia Pythonu
Čo sa týka Linuxových distribúcií, Python býva väčšinou základným pred-inštalovaným nástrojom. Otázne však je, či sa v distribúcii, ktorú používate, nachádza aj Python verzie 3. Toto skontrolujete tak, že v emulátore terminálu (konzole) zadáte python3. Po spustení by ste mali vidieť niečo takéto:
Python 3.4.3 (default, Feb 26 2015, 23:01:07) [GCC 4.9.2 20150204 (prerelease)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
Poznámka: Presná verzia sa môže líšiť vzhľadom k obdobiu.
To, čo vidíte, je interpreter Pythonu. Pokiaľ ho nevidíte a objavila sa vám chybová hláška, že systém nepozná príkaz, alebo nenašiel program, budete musieť Python 3 doinštalovať. Väčšina linuxových distribúcií majú Python 3 vo svojich repozitároch a tak stačí, pokiaľ ho nainštalujete pomocou správcu balíčkov. Alternatívnym riešením je manuálne zostavenie z kódu a inštalácia Pythonu 3 stiahnutého z oficiálnej stránky.
Pre Windows je dostupný MSI inštalátor. Stačí stiahnuť a nainštalovať správnu verziu. Na oficiálnej stránke takisto nájdete aj inštalátory pre Mac OS X.
Spustený Python interpreter v Linuxovom prostredí
Spustenie interpreteru
Spustenie interpreteru v Linuxe som síce už ukázal, ale opakovanie ešte nikoho nezabilo (i keď...). Pre spustenie je potrebné zadať python3 v emulátore terminálu. Vo Windowse by ste mali byť takisto schopný spustiť interpreter cez príkazový riadok (CMD) zadaním rovnakého príkazu. Prípadne môžete využiť Python 3 IDLE. Pre OS X platí znovu to isté. Buď to príkaz python3 v konzole alebo spustenie grafického IDLE.
Vo všetkých prípadoch by sa vám malo zobraziť už vyššie spomínané:
Python 3.4.3 (default, Feb 26 2015, 23:01:07) [GCC 4.9.2 20150204 (prerelease)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
Interpreter ako kalkulačka – základné matematické operácie v Pythone
V interpreteri sa nám po spustení objavil riadok začínajúci >>>, do ktorého sme schopný vpísať príkaz. Zatiaľ si ukážeme len základné matematické operácie. Pre sčítavanie čísel stačí napísať napríklad 2+2. Interpreter následne príklad vypočíta a objaví sa nám výsledok. Pre odčítavanie platí to isté len s použitím minusu. Násobí sa použitím * a delí použitím /.
Pre príklady samozrejme platia pravidlá matematiky a násobenie a delenie má pred sčítaním prednosť. Pokiaľ chceme niečomu udeliť prednosť v počítaní, tak ako pri matematickom zápise, použijeme okrúhle zátvorky ()
. Upozorňujem tých, čo sú zvyknutý používať v matematike pri zátvorkách rôzne druhy zátvoriek ([], {}) a obaľovať tak jednotlivé časti do vrstiev. V Pythone musíte pre tento účel používať len tento ()
typ zátvoriek.
Pri delení na desatine čísla napríklad pri 5/2 vám Python 3 automaticky vyhodí správne desatine číslo 2.5. Avšak pri Pythone 2 to tak nebolo a pokiaľ ste delili dve celé čísla, výsledkom bolo vždy celé číslo zaokrúhlené nadol. Pokiaľ rovnaký výsledok chcete dostať aj v Pythone 3, musíte použiť zdvojené lomky, čiže 5//2 sa bude rovnať 2. Pre získanie zvyšku z delenia sa používa znak %. Samozrejme tak ako v matematike, nie je možné deliť nulou. Pokiaľ sa o to pokúsite, Python sa bude sťažovať.
Mocniny sa v Pythone zapisujú pomocou dvoch hviezdičiek, napríklad 2**10. Ostatným matematickým operáciám sa budeme venovať neskôr.
Ukážka vypočítaných príkladov v interpreteri
Záver
V ďalšej časti seriálu sa budeme venovať ďalším matematickým funkciám, dátovým typom, ukážeme si, ako spúšťať Python program zo súboru a povieme si, že všetko v Pythone je objekt.