Učení se s Pythonem a Pythonu

pythonlogoPython je programovací jazyk a jak je pokročilejším uživatelům známo je předinstalován ve většině linuxových systémů. V Mintu najdeme obě jeho aktuální verze Python 2 a modernizující Python 3, z něhož sice jsou některé jeho části vypouštěny, jiné však rozšiřovány a vyvíjeny, jedná se prostě o evoluci. Je to open source multiplatformní program, který už ve své základní verzi obsahuje stovky modulů a dále moduly třetích stran. Pokud se chcete Pythonu učit, tak jako já, najdete spoustu literatury například http://it-ebooks.info/, v angličtině je tu učebnice pro děti, čímž se nenechte zmást, pokud neumíte ani za mák anglicky, je tu pro vás publikace, kterou vydala zdarma ke stažení doména NIC.cz „Ponořme se do Python(u) 3“ od Marka Pilgrim, později si lze knihy zakoupit i v papírové podobě a pořídit si tak plnohodnotnou učebnici. Já osobně vlastním knihu „Výukový kurz Python 3“.

Proč právě Python? Je jednoduchý k naučení, bývá přirovnáván k Basicu, jednoduchost jeho syntaxe a stručnost nemá pravděpodobně konkurenci. Při spouštění napsaného programu (většinou s koncovkou .py) není potřeba žádná kompilace, program prostě běží díky tomu, že máte v systému Python. Je to tedy dynamický interpretovaný jazyk. Lze programovat procedurálně i na základě objektově orientovaného programování. Může spolupracovat s jinými programovacími jazyky.

Poslední článek týkající se Pythonu bohužel vyšel na našem webu již předloni. Jeho autorovi Ondrovi Kolínovi vděčím za plodnou spolupráci na programech pomáhajících při výuce angličtiny (při mírné modifikaci může pomoci při výuce většiny jazyků), tyto programy jsou již v Pythonu 3 a běží v Terminálu. Dlouho jsem promýšlel psaní tohoto článku, nepovažuji se totiž za dostatečně fundovaného, ale snad právě toto vás přesvědčí o jednoduchosti programování v Pythonu. První program vyučuje minulý čas sloves, po úpravě by byl schopen samozřejmě schopen zkoušet i z příčestí minulého a dalších slovesných časů, spolupracuje s externím souborem source.txt. Pokud váš učitel požaduje znalost jiných sloves, musíte samozřejmě tento soubor upravit, než jej začnete používat, syntaxe je taková, že jako oddělovač slouží čárka, aby to byl jiný znak, museli byste upravit jediný znak v souboru slovesa.py. Nesmí se před, ani za čárku napsat mezera a na konci řádku také nepsat mezeru. Zní to složitě, ale je to naprosto triviální, stačí nahlédnout pod pokličku souboru slovesa.py. Ten je aspoň okomentovaný skoro tak, jak má být 🙂 . Dále nabízíme prográmek slovicka.py, který je doprovázen hned vícero externími textovými soubory – musí být v té samé složce.

Systém je následující: třída žáka vyjádřená číslem, source, číslo kapitoly a koncovka .txt, tedy například 7source2.txt. Pravidlo psaní čárky jako oddělovače je stejné jako v předchozím prográmku. Opět platí, že používání jiné učebnice než má můj syn vás bude stát nějakou dobu psaní texťáků, výhodou je, že je možné slovíčka přidávat průběžně dle libosti a že se v jednom cvičení slovíčka neopakují. Do souborů .py jsme nevypisovali žádné licenční ujednání, pokládáme jejich modifikaci za možnou, ne-li často nutnou, pravděpodobně bude lepší použít jako oddělovač jiný znak, neboť těch čárek musí být přesně tolik, kolik zamýšlíme my, v programu slovesa.py dvě a v programu slovíčka pouze jedna. Inu betaverze.

Dále jsem napsal prográmky pro třetí třídu ZŠ: násobilka, dělení, sčítání a odčítání. Ty vám budou fungovat v Pythonu 2 a je třeba navíc doinstalovat balíček python-pygame. je to jakýsi kvíz, kdy dítě má odpovědět dříve, než se objeví správná odpověď. Programy jsou sice v GUI, ale jejich ukončování je nejsnažší zavřením terminálu, odkud byl spuštěn. Další moucha, o které se ví. K jejich tvorbě jsem použil modifikaci z tutoriálu na tomto webu, jen ten konkrétní příklad nemohu právě najít, budete se tím muset prokousat sami, vřele doporučuji.

Tak autore a kde jsou ty prográmky, o kterých jsi psal? Stáhněte si je všechny společně jako složku s názvem Mint z cloudu MEGA: https://mega.co.nz/#F!HBAUQYLb!S9thZl1_rlsJQm9oojFIjg.

 

ucime_se_python

 

Dále dejte u všech tří položek volbu Rozbalit sem. Samotné spouštění je jednoduché:

Příkazy terminálu:
cd Stažené/Mint/slovesa
 python3 slovesa.py

 

Po proběhnutí programu zkusíme další:

Příkazy terminálu:
cd .. && cd slovicka
 python3 slovicka.py

 

Šipkou nahoru se spouští poslední příkaz v Terminálu, takže můžete učit se, učit se a učit se. Jen si nejdřív budete muset vypsat slovíčka a slovesa z vlastní učebnice dle vzoru (a odstranit ty moje v případě shody v názvech souborů u slovíček). A u sloves pojmenujete svůj soubor source.txt, jinak prográmky nebudou fungovat.

Dále zkusíme matematiku (vybereme z možností násobilka, děleni, sčítání a odčítání) v Pygame:

Příkazy terminálu:
sudo apt-get install python-pygame
 cd .. && cd matematika
 python nasobilka.py

 

nasobilka-pygame

 

Pygame je modul Pythonu, který nebyl oficiálně přidán do Pythonu 3, proto se spouští odlišně od našich prográmků k výuce nebo spíše učení zkoušením z angličtiny. Ondra mi napsal, že dokonce modul pygame nezná, na webu je však spousta tutoriálů, jak programovat například hry právě v Pygame a je spousta vývojářů, kteří s Pygame v Pythonu stále pracují. Doporučuji si v geditu (plumě) otevřít soubory .py a měli byste sami zjistit, jak je Python jednoduchý a úsporný. Vývoj modulu pygame se zřejmě zastavil. Lze si jej zkompilovat pro svůj počítač, tak aby fungoval i v Pythonu 3. Je to tak, jak jsem psal výše, některé moduly prostě nebudou přejímány do novějšího Pythonu.

Programování není o znalosti vysoké matematiky, ale souvisí s logickým myšlením, schopností rozložit požadovaný postup na jednotlivé kroky a s každým stvořeným prográmkem zlepšující se znalostí programovacího jazyku. Jinak Python prý neznamená krajta, jak najdete ve slovníku, ale nazývá se tak podle komické skupiny Monty Python a nazval jej tak tvůrce programu Guido van Rossum v roce 1990.

 

pycharm-1

 

Při zachování určitých pravidel mi pro psaní programů stačil i gedit, to je někdy však nepohodlné. Pro krátké otestování několika příkazů Pythonu vám bohatě stačí Terminál, stačí vypsat python3 (nebo python), Terminál vypíše číslo použité verze Pythonu ve vaší distribuci. Pokud se rozhodnete jít hlouběji je dobré mít nainstalované IDLE.

 

pycharm-2

 

Ovšem jakmile IDLE zavřete, nemá počítač vámi zkoušené příkazy nikde uloženy. Proto existují jako pro ostatní programovací jazyky různá vývojová prostředí IDE, jsou to například: Wing IDE, PyCharm Community, PyDev jako plugin v Eclipse, Geany a další. Uvádím ty hlavní a ty, které jsou distribuovány pod svobodnou licencí.

 

Štítky , , , , .Záložka pro permanentní odkaz.

10 reakcí na Učení se s Pythonem a Pythonu

  1. Allconius říká:

    Ahoj, už jsem na Python dřív koukal, jelikož mi přišla syntaxe docela podobná PHP, který trochu znám. Resp. je to asi logický, že programování má podobnou logiku a liší se jen zápisem 🙂 Na programování obdivuji právě tu logičnost. Pokud je to nelogický tak to prostě nefunguje a netváří se to, že to funguje 🙂 Kdežto v životě funguje bohužel nelogičnost nehorázně, například tím, že zábava je většinovou společností ceněna více než zodpovědná práce, což by v PHP okamžitě vyhodilo fatal error 😀

  2. kamowski říká:

    Cit.: „zábava je většinovou společností ceněna více než zodpovědná práce, což by v PHP okamžitě vyhodilo fatal error“

    super hláška 😀
    do kameňa tesať 😀

  3. Bedňa říká:

    Pre boha prečo dávať slobodný kód na Mega a podobne. Prečo nepoužiješ nejaký verzovací systém aby si sa k tomu mohol ľahko vrátiť a aby doň mohli aj astatní bez problémov prispievať. Napr. Git ala GitHub a podobne?

    • huskyviking říká:

      Co není může být. Prozatím doporučuji přihlásit se mezi autory přes admina nebo poslat hotový článek.
      Jinak zkušenosti s prográmky jsou jaké? To je něco, na co už pár dní čekám.
      Vaše odpověď zní, tak jako ve škole za 4 🙂 .

      • Bedňa říká:

        Matematika mi neberie vstup z klávesnice. Ani numpad, ani čísla, ani anglickú klávesnicu, používam kódovanie UTF-8.

  4. huskyviking říká:

    A v angličtině, zkoušení časů sloves, jich lze zkoušet více najednou, pokud se program modifikuje zopakováním a úpravou textu pár řádků kódu a přidáním dalšího oddělovače a příslušného času v textových souborech.
    Každý si musí logicky přizpůsobit program a texťáky, pokud se chce učit něco jiného než je v přidaných lekcích.
    Jinak způsob, jakým Python umožňuje řešit daný problém, je prostě famózní.
    Python se mi jeví jako snad nejsnažší k učení.

  5. zbyna říká:

    Ponořme se do Python(u) 3 můžu jenom doporučit. Je to napsané docela dost zábavně a stravitelně, zhltnul jsem takřka na posezení 🙂
    Velice dobrá mi příjde také interaktivní (a to tak že velmi)učebnice .
    Python se mi líbí, protože je elegantní a úsporný.
    2Alconius :
    PHP neumím tak nemůžu posoudit.
    Jako IDE jsem používal
    Eric
    a občas i
    Spyder

    Co do elegance se Pythonu velice podobá Swift (OSX) a navíc se kompiluje, takže bude pravděpodobně o dost (osobní názor – můžu se plést 🙂 ) rychlejší. Apple by měl do konce roku uvolnit zdrojáky pod open source a prý připraví i verzi pro Linux.