Základy programování v jazyce Python Úvod, Osnova, Požadavky pro splnění, Instalace Co můžete čekat ● Dozvíte se, jak se spouští příkazový řádek ● Pomůžeme Vám nainstalovat pythoní interpreter na Váš počítač ● Vysvětlíme se základní pojmy z programování: proměnná, funkce, if, for, while, … až po základy objektů. ● Budeme řešit konkrétní praktické příklady ● Na teorii moc času nezbude… PCexpertiseLEVEL PRO n00b F1420 Úvod - Proč Python? Výhody jazyka Python: ➔ Jednoduchost (vysoko-úrovňový jazyk) ➔ Interaktivnost ◆ Efekt příkazů v Pythonu je možné si vyzkoušet bez nutnosti kompilace ➔ Dobře dokumentovaný s velkým počtem uživatelů ◆ Mnoho informací na internetu (stackoverflow.com,...) ◆ Knihovny -- Nevýhody jazyka Python: ➔ Python je pomalý ➔ Momentálně existují dva Pythony ◆ Hodně kódu je napsáno v Pythonu 2.7 Osnova a Typ Výuky ● Čísla, řetězce, seznam a slovník ● Základní konstrukce (proměnné, výrazy, řídící struktury, funkce) ● Složené datové typy a objekty, co je to knihovna a jak s ní pracovat ● Elementární načítání, ukládání a zobrazení dat v jazyce Python Každá hodina se bude skládat ze dvou částí: ● teoretické - kde se uvede nový prvek a jak se s ním pracuje ● praktická - kde se s tímto prvkem budeme učit pracovat za naší asistence Požadavky pro splnění Vypracovat během semestru nejméně dva domácí úkoly do dvou týdnů. Úkoly se nahrávají na ISu do odevzdáváren. Úkoly budou každým týdnem růst na obtížnosti. Ve zkouškovém bude seance, v průběhu které budete muset vyřešit testový příklad a obhájit si to. Motivace ➔ Problém: ◆ Chcete stáhnout všechny přednášky o Pythonu z MIT kurzu. ➔ Po inspekci URL uvidíte, že každé URL se liší jenom o číslo. ➔ Nechce se vám stahovat pdfka ručně… ➔ Jak se stahují pdfka v Pythonu? -> stackoverflow Řešení Jste na správné Wi-Fi? MUNI eduroam Instalace Pythonu Windows Stáhnout a spustit: https://www.python.org/ftp/python/3.7.2/python-3.7.2-amd64-webinstall.exe Instalace Pythonu UNIX ● Otevřete si terminál ● sudo apt-get install python3 python3-pip nebo možná taky ● sudo dnf install python3 anebo ● sudo zypper install python3 python3-pip ale možná taky ● sudo pacman -S python python-pip Hlavně nic nestahujte přes prohlížeč!!! Adresářová struktura Vytvořte na svém stroji následující strukturu: domecek\stolecek\misticka\vodicka\rybicka.py Adresářová struktura Vytvořte na svém stroji následující strukturu: domecek\stolecek\misticka\vodicka\rybicka.py adresář - krabička na soubory soubor - krabička na data či instrukce pro počítač Něco málo o příkazovém řádku Pro používání Pythonu budeme potřebovat otevřít “Příkazový řádek”. Windows Menu -> napište “cmd” -> Enter Vyzkoušejte si následující příkazy (vpravo pro Linux/Mac), co dělají? ● ls ● cd .. ● cd /home/$USER/Pictures ● man man ● man ls ● dir ● cd .. ● cd “C:\Program Files” ● help ● help cd Cvičení: Přesměrujte se do vámi vytvořené cesty: domecek\stolecek\misticka\vodicka\ a použijte příkaz dir (ls). Po instalaci Pro ověření, že je Python správně nainstalovaný, napište (do příkazového řádku) “python” - pokud jste měli otevřenou konzoli tak ji po instalaci zavřete a znovu otevřete, aby se znovu načetly cesty Konzoli Pythonu kdykoli ukončíte stlačením “Ctrl+C” (prip. “Ctrl+D” nebo použitím příkazu “exit()”) První kroky Otevřete si Pythoní konzoli a vyzkoušejte následující příkazy: >>>a = b #vypíše chybovou hlášku >>>a = "b" >>>print(a) >>>a = 1 + 1 >>>print(a) Instalace programů pip a Jupyter Notebook Dále budeme běžně používat dva další programy: ● pip ○ pip je správce balíčků pro Python ○ Stará se o stahování a instalaci balíčků (a balíčků potřebných pro jejich fungování) ● jupyter ○ Jupyter (Julia, Python, R) je interaktivní prostředí pro zkoušení Pythonu a psaní krátkých skriptů Používaní programů pip a Jupyter Na příkazovém řádku napište (v Linuxu + sudo): pip install NějakýBalíček Doma můžete zkusit balíčky: numpy, scipy, pandas, matplotlib. Tímto způsobem nainstalujte jupyter. Pro spuštění jupyter notebooku, na příkazovém řádku napište: jupyter notebook Předtím než začneme dělat v jupyteru... Pythoní kód můžeme napsat do textového souboru. Program napsaný v Pythonu je jeden nebo víc editovatelných souborů s instrukcemi pro počítač (Python). Je dobré mít po ruce textový editor se zvýrazňováním syntaxe. Pro účely této přednášky použijeme editor Notepad++ (na Linuxu použijte gedit nebo notepadqq.) Seznamte se svojí klávesnicí! Psaní Pythoního skriptu Otevřete si Notepad++, v hlavním menu vyberte: Syntaxe -> P -> Python Do souboru napište: x = 12 y = 1.5 print(x+y) … a soubor uložte (můžete použít koncovku “.py”, která je běžná pro Pythoní skripty). Spuštění Pythoního skriptu Na příkazovém řádku se přesuňte do cesty (příkaz cd, kde jste soubor uložili a napište: python “VámiVytvořenýSoubor.py” Programování v Jupyteru Po spuštění jupyteru si založte nový soubor (soubory se vytvoří v adresáři kde jste jupyter spustili) Programování v Jupyteru Jupyter je rozhraní umožňující spouštět si části kódu po částech, vracet se k nim a vůbec si s nimi hrát... Otázka k zamyšlení Zkuste najít odpověď na následující otázku (s pomocí internetu): ● Při instalaci balíčků pip stahuje soubory do Vašeho počítače. Kam je ukládá? Zábava na doma Podívejte se na https://github.com/rg3/youtube-dl/. Na tomto linku najdete repozitář pro balíček youtube-dl. Příkazy, které najdete v README jsou pro Linux. Tento program slouží ke stahování videí/audia z youtube.com a podobných stránek. Program můžete nainstalovat pomocí pipu: pip install youtube-dl Zkuste si ho spustit (z příkazového řádku): youtube-dl --version ZáBava na doma Stáhněte si něco z youtubeu (pravděpodobně legální, viz diskuzi): youtube-dl “URL” Můžete se přesvědčit, že program se skládá z textových souborů, v kterých je Python-ový kód (soubory s příponou “.py”). Najděte (až vyřešíte otázku na zamyšlení) soubor “common.py” ve složce “extractor” v nainstalovaném balíčku a na řádku 900 změňte text “Downloading webpage” na něco jiného a program použijte znovu.