Zatím jsi psal/a všechny programy v konzoli v interaktivním režimu Pythonu, který nás omezuje na jeden řádek kódu. Když Python opustíš (nebo vypneš počítač), všechno co jsi zatím naprogramoval/a se ztratí.
Větší programy jsou trvanlivější: ukládají se do souborů a dají se kdykoli spustit znovu.
Vyzkoušejme si to. Budeme potřebovat:
Zkus vypnout Python. Existuje na to funkce exit()
:
>>> exit()
Tak se dostaneš zpět do příkazové řádky. Pamatuješ na ni?
Už neuvidíš >>>
, ale řádek končící $
nebo >
.
Budou tu fungovat příkazy jako cd
a mkdir
,
ale ne příkazy Pythonu, jako 1 + 1
.
Doufám, že máš nainstalovaný textový editor. Ten teď otevři, udělej si nový soubor a napiš něj tento příkaz:
print('Hello, PyLadies!')
Nový soubor ulož pod nějakým popisným názvem: python_intro.py
.
Ulož si jej do adresáře, kam si budeš dávat soubory k tomuto workshopu.
Jméno musí končit na .py
: tahle přípona říká editoru nebo i
operačnímu systému, že jde o program v Pythonu a Python ho může spustit.
Obarvování
Po uložení by se text měl obarvit.
V interaktivním režimu Pythonu mělo vše stejnou barvu,
ale nyní bys měla vidět, že jméno funkce print
je jinou barvou než
řetězec v závorkách.
Barvy nevolíš sám/sama, vybírá je editor na základě toho,
jak potom Python kódu porozumí.
Nazývá se to "zvýrazňování syntaxe" a je to užitečná funkce.
Chce to trochu praxe, ale barvy můžou napovědět
že ti chybí uvozovka za řetězcem
nebo máš překlep v klíčovém slovu jako del
.
To je jeden z důvodů, proč používáme editory kódu :)
Pokud máš soubor uložen, je čas jej spustit! Pomocí dovedností, které jsi se naučil/a v sekci o příkazové řádce, změň adresář na ten, kam jsi soubor uložil/a.
Pokud nevíš jak dál, požádej o pomoc kouče.
Nyní pomocí Pythonu spusť kód v souboru:
(venv) $ python python_intro.py
Hello, PyLadies!
Funguje? Vidíš text? Jesli ano, právě jsi spustil/a svůj první opravdový program v Pythonu! Cítíš se úžasně?
Funkce print()
, kterou jsi použila, umí něco vypsat na obrazovku.
V konzoli se hodnoty výrazů vypisovaly automaticky, abys je mohl/a
průběžně kontrolovat, ale programy v souborech bývají složitější a výpisy
z každého kroku by byly nepřehledné.
Proto na vypsání potřebuješ print()
.
Zkus si to:
jmeno = 'Ola'
'Já jsem ' + jmeno # Tohle Python nevypíše
print(jmeno * 8) # Tohle jo!
Do závorek funkce print()
můžeš dát i víc hodnot oddělených čárkami.
jmeno = 'Amálka'
vek = 5
print('Já jsem', jmeno, 'a je mi', vek)
print('Za rok mi bude', vek + 1)
Další užitečná funkce je input()
, která se umí zeptat na otázku.
Odpověď pak vrátí jako řetězec, který si můžeš uložit do proměnné:
jmeno = input('Jak se jmenuješ? ')
print(jmeno, 'umí programovat!')
A co když budeš chtít spíš číslo než text? Pamatuješ si na funkci, která umí převést řetězec na číslo?
letopocet = int(input('Jaký je letos rok? '))
print('Loni byl rok', letopocet - 1)
Všiml/a sis u předchozího programu poznámek za „mřížkou“ (#
)?
jmeno = 'Ola'
'Já jsem ' + jmeno # Tohle Python nevypíše
print(jmeno * 8) # Tohle jo!
To jsou takzvané komentáře. Jsou určené jen pro lidi: Python je úplně ignoruje.
Teď, když své programy ukládáš na disk a můžeš se k nim vracet, je důležité aby byly čitelné: aby z nich nejen počítače, ale i lidi poznali, co mají dělat. Vždycky když napíšeš nějaký složitější kus kódu k němu zkus přidat komentář s vysvětlivkou. Až se k programu za pár dní nebo měsíců vrátíš, poděkuješ si!
{ "data": { "sessionMaterial": { "id": "session-material:2018/snake-brno-codeweek:intro:9", "title": "Ulož to!", "html": "\n \n \n\n <h1>Ulož to!</h1>\n<p>Zatím jsi psal/a všechny programy v konzoli v interaktivním režimu Pythonu,\nkterý nás omezuje na jeden řádek kódu.\nKdyž Python opustíš (nebo vypneš počítač),\nvšechno co jsi zatím naprogramoval/a se ztratí.</p>\n<p>Větší programy jsou trvanlivější: ukládají se do souborů a dají se kdykoli\nspustit znovu.</p>\n<p>Vyzkoušejme si to. Budeme potřebovat:</p>\n<ul>\n<li>Ukončit interaktivní režim Pythonu</li>\n<li>Otevřít editor kódu</li>\n<li>Uložit kód do nového souboru</li>\n<li>Spustit ho!</li>\n</ul>\n<p>Zkus vypnout Python. Existuje na to funkce <code>exit()</code>:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"nb\">exit</span><span class=\"p\">()</span>\n</pre></div><p>Tak se dostaneš zpět do příkazové řádky. Pamatuješ na ni?\nUž neuvidíš <code>>>></code>, ale řádek končící <code>$</code> nebo <code>></code>.\nBudou tu fungovat příkazy jako <code>cd</code> a <code>mkdir</code>,\nale ne příkazy Pythonu, jako <code>1 + 1</code>.</p>\n<p>Doufám, že máš nainstalovaný <a href=\"/2018/snake-brno-codeweek/beginners/install-editor/\">textový editor</a>.\nTen teď otevři, udělej si nový soubor a napiš něj tento příkaz:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">'Hello, PyLadies!'</span><span class=\"p\">)</span>\n</pre></div><p>Nový soubor ulož pod nějakým popisným názvem: <code>python_intro.py</code>.\nUlož si jej do adresáře, kam si budeš dávat soubory k tomuto workshopu.\nJméno musí končit na <code>.py</code>: tahle přípona říká editoru nebo i\noperačnímu systému, že jde o program v Pythonu a Python ho může spustit.</p>\n<div class=\"admonition note\"><p class=\"admonition-title\">Obarvování</p>\n<p>Po uložení by se text měl obarvit.\nV interaktivním režimu Pythonu mělo vše stejnou barvu,\nale nyní bys měla vidět, že jméno funkce <code>print</code> je jinou barvou než\nřetězec v závorkách.\nBarvy nevolíš sám/sama, vybírá je editor na základě toho,\njak potom Python kódu porozumí.</p>\n<p>Nazývá se to "zvýrazňování syntaxe" a je to užitečná funkce.\nChce to trochu praxe, ale barvy můžou napovědět\nže ti chybí uvozovka za řetězcem\nnebo máš překlep v klíčovém slovu jako <code>del</code>.\nTo je jeden z důvodů, proč používáme editory kódu :)</p>\n</div><p>Pokud máš soubor uložen, je čas jej spustit!\nPomocí dovedností, které jsi se naučil/a v sekci\no příkazové řádce, <em>změň adresář</em> na ten, kam jsi soubor uložil/a.</p>\n<p>Pokud nevíš jak dál, požádej o pomoc kouče.</p>\n<p>Nyní pomocí Pythonu spusť kód v souboru:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">(venv) $ </span>python python_intro.py\n<span class=\"go\">Hello, PyLadies!</span>\n</pre></div><p>Funguje? Vidíš text?\nJesli ano, právě jsi spustil/a svůj první opravdový program v Pythonu!\nCítíš se úžasně?</p>\n<h2>Vstup a výstup</h2>\n<p>Funkce <code>print()</code>, kterou jsi použila, umí něco <em>vypsat</em> na obrazovku.\nV konzoli se hodnoty výrazů vypisovaly automaticky, abys je mohl/a\nprůběžně kontrolovat, ale programy v souborech bývají složitější a výpisy\nz každého kroku by byly nepřehledné.\nProto na vypsání potřebuješ <code>print()</code>.\nZkus si to:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"n\">jmeno</span> <span class=\"o\">=</span> <span class=\"s1\">'Ola'</span>\n\n<span class=\"s1\">'Já jsem '</span> <span class=\"o\">+</span> <span class=\"n\">jmeno</span> <span class=\"c1\"># Tohle Python nevypíše</span>\n\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"n\">jmeno</span> <span class=\"o\">*</span> <span class=\"mi\">8</span><span class=\"p\">)</span> <span class=\"c1\"># Tohle jo!</span>\n</pre></div><p>Do závorek funkce <code>print()</code> můžeš dát i víc hodnot oddělených čárkami.</p>\n<div class=\"highlight\"><pre><span></span><span class=\"n\">jmeno</span> <span class=\"o\">=</span> <span class=\"s1\">'Amálka'</span>\n<span class=\"n\">vek</span> <span class=\"o\">=</span> <span class=\"mi\">5</span>\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">'Já jsem'</span><span class=\"p\">,</span> <span class=\"n\">jmeno</span><span class=\"p\">,</span> <span class=\"s1\">'a je mi'</span><span class=\"p\">,</span> <span class=\"n\">vek</span><span class=\"p\">)</span>\n\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">'Za rok mi bude'</span><span class=\"p\">,</span> <span class=\"n\">vek</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n</pre></div><p>Další užitečná funkce je <code>input()</code>, která se umí zeptat na otázku.\nOdpověď pak vrátí jako řetězec, který si můžeš uložit do proměnné:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"n\">jmeno</span> <span class=\"o\">=</span> <span class=\"nb\">input</span><span class=\"p\">(</span><span class=\"s1\">'Jak se jmenuješ? '</span><span class=\"p\">)</span>\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"n\">jmeno</span><span class=\"p\">,</span> <span class=\"s1\">'umí programovat!'</span><span class=\"p\">)</span>\n</pre></div><p>A co když budeš chtít spíš číslo než text?\nPamatuješ si na funkci, která umí převést řetězec na číslo?</p>\n<div class=\"highlight\"><pre><span></span><span class=\"n\">letopocet</span> <span class=\"o\">=</span> <span class=\"nb\">int</span><span class=\"p\">(</span><span class=\"nb\">input</span><span class=\"p\">(</span><span class=\"s1\">'Jaký je letos rok? '</span><span class=\"p\">))</span>\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">'Loni byl rok'</span><span class=\"p\">,</span> <span class=\"n\">letopocet</span> <span class=\"o\">-</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n</pre></div><h2>Komentáře</h2>\n<p>Všiml/a sis u předchozího programu poznámek za „mřížkou“ (<code>#</code>)?</p>\n<div class=\"highlight\"><pre><span></span><span class=\"n\">jmeno</span> <span class=\"o\">=</span> <span class=\"s1\">'Ola'</span>\n\n<span class=\"s1\">'Já jsem '</span> <span class=\"o\">+</span> <span class=\"n\">jmeno</span> <span class=\"c1\"># Tohle Python nevypíše</span>\n\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"n\">jmeno</span> <span class=\"o\">*</span> <span class=\"mi\">8</span><span class=\"p\">)</span> <span class=\"c1\"># Tohle jo!</span>\n</pre></div><p>To jsou takzvané <em>komentáře</em>.\nJsou určené jen pro lidi: Python je úplně ignoruje.</p>\n<p>Teď, když své programy ukládáš na disk a můžeš se k nim vracet,\nje důležité aby byly <em>čitelné</em>: aby z nich nejen počítače, ale i lidi\npoznali, co mají dělat.\nVždycky když napíšeš nějaký složitější kus kódu k němu zkus přidat komentář\ns vysvětlivkou.\nAž se k programu za pár dní nebo měsíců vrátíš, poděkuješ si!</p>\n<h2>Shrnutí</h2>\n<ul>\n<li>Příkaz <strong>python</strong> spustí uložený soubor jako program v Pythonu.</li>\n<li>Funkce <strong>print</strong> vypisuje hodnoty.</li>\n<li><strong>Komentáře</strong> můžou zpřehlednit složitější kód. Python je ignoruje.</li>\n</ul>\n\n\n " } } }