Interaktivní příkazová řádka Pythonu

Zkontroluj si, že máš aktivované virtuální prostředí (na začátku příkazové řádky ti svítí (venv)).

Je-li tomu tak, nezbývá než – konečně – pustit Python. K tomu použij příkaz python:

(venv)$ python
Python 3.4.0 (default, Jan 26 2014, 18:15:05)
[GCC 4.8.2 20131212 (Red Hat 4.8.2-7)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Zkus napsat do příkazového řádku příkaz:

>>> print("Hello, world!")

Když stiskneš Enter, měl by se ti objevit nýsledující výstup:

Hello, world!
>>>

Pokud jste zvyklí z jiných programovacícj jazyků, že řádka musí být ukončena středníkem, pak v Pythonu to není zapotřebí.

Toto značí příkazový řádek:

>>>

Pokud do něj napíšeš řetězec v uvozovkách:

>>> "Hello world!"

dostaneš následující výstup:

'Hello world!'
>>>

Pokud ale zkusíš napsat podobný příkaz:

>>> Have fun!
  File "<stdin>", line 1
    Have fun!
           ^
SyntaxError: invalid syntax
>>>

Obdržíš chybové hlášení, že Python interpret nerozumí příkazu.

Čísla a výrazy

Zkus následující příkazy:

>>> 2 + 2
4

Výsledkem sčítání je celé číslo. Pokud budeme dělit, výsledkem bude číslo s pohyblivou čárkou (floating-point number).

>>> 1 / 2
0.5
>>> 1 / 1
1.0

Pokud tě zajímá celočíselné dělení, zkus:

>>> 1 // 2
0
>>> 1 // 1
1
>>> 5.0 // 2.4
2.0

Operátor modulo:

>>> 1 % 2
1

Některé příklady celočíselného dělení a zbytku po celočíselném dělení:

>>> 10 // 3
3
>>> 10 % 3
1
>>> 9 // 3
3
>>> 9 % 3
0

Poslední operátor na který se podíváme je operátor exponenciální operátor:

>>> 2 ** 3
8
>>> -3 ** 2
-9
>>> (-3) ** 2
9

Hexadecimální, osmičkový a binární zápis čísel

>>> 0xAF
175
>>> 010
8
>>> 0b1011010010
722

V závislosti na verzi Pythonu se může stát, že osmičkový zápis čísel selže s chybou jako je náseldující:

>>> 0l0
 File "<stdin>", line 1
   0l0
      ^
SyntaxError: invalid syntax

Pokud se to stane, budeš muset zadávat osmičkový zápis ve tvaru:

>>> 0o10
8

Jedná se o změnu v Python3, popsanou v PEP-3127

Proměnné

Pokud máš alespoň malé zkušenosti s programováním, je ti asi známý koncept proměnných (variables). Proměnná reprezentuje nějakou hodnotu. Touto hodnotou může být řetězec, číslo atd. Přiřadit hodnotu do proměnné můžeme v Pythonu snadno takto:

>>> x = 2

Poté, co přiřadíme proměnné nějakou hodnotu, můžeme proměnnou použít v dalším kódu:

>>> x * 2
4

Jméno proměnné může obsahovat písmena, čísla a znak podržítka (_). Nemůžou začínat číslem, takže proměnná s názvem variable1 je validní, ale 1variable už ne.

Příkazy

Rozdíl mezi výrazy a příkazy je následující, zatímco výraz je něco, příkaz dělá něco. Například výraz 3 * 3 je 9:

>>> 3 * 3
9

ale příkaz print(3 * 3) vytiske hodnotu 9.

print(3 * 3)
9

Získání vstupu od uživatele

Pokud potřebuješ v programu získat od uživatele nějakou vstupní hodnotu, můžeš použít funkci input.

>>> input('Zadejte velikost vasich bot: ')
Zadejte velikost vasich bot: 45
'45'

Pomocí funce input můžeš přiřadit nejakou hodnotu do proměnné, například takto:

>>> x = input("x: ")
x: 45
>>> y = input("y: ")
y: 23

A nyní můžeš ověřit, že hodnoty byly přiřazeny proměnným x a y a můžeš je dále použít:

>>> print(int(x) * int(y))
1035

Všimni si, že jsme uvnitř funkce print museli u proměnných x a y použít funkci int(). Jedná se o tzn. přetypování, které jsme museli udělat, protože uživatel zadal hodnoty do proměnných x a y jako řetězce a ne jako čísla. Zkus si, co by se stalo, kdyby jsi přetypování neprovedl.

Funkce

Funkce jsou jako malé programy, které slouží k vykonání určité specifické akce. Python má mnoho funkcí, které můžeš využívat. Tyto se nazývají built-in funkce. Dále si pak každý uživatel může vytvářet své flastní funkce dle potřeby.

>>> 2 ** 3
8
>>> pow(2, 3)
8

Zde vidíme, že funkce pow() vykonává stejnou funci, jako výraz 2 ** 3.

Moduly

Moduly jsou rozšířením výchozích schopností Pythonu a mohou být importovány do tvého kódu.

>>> import math
>>> math.floor(11.9)
11
>>> from math import sqrt
>>> sqrt(9)
3.0

Mnoho modulů je standarní součástí Pythonu (jako například modul math), další pak mohou být naprogramovány tebou nebo někým dalším.

Uložení a spuštění vašich programů

Doposud jsme si ukazovali, jak zadávat příkazy v Python interaktivní příkazové řádce. Co ale, když chceme náš program ulozžit pro pozdější použití? Pokud totiž zavřeme okno s Python interaktivní příkazovou řádkou, všw co jsem napsali je ztraceno.

Pokud chcete psát programy pro další použití, musíte jej uložit so souboru a později jej spustit. Pro psaní programu v Pythonu budeš potřebovat textový editor. Jak jej získat a nainstalovat je popsáno v kapitole Instalace editoru.

Otevři nový soubor, pojmenuj ho hello.py a vlož do něj následující řádky:

name = input("What is your name? ")
print("Hello, " + name  + "!")

Ulož soubor a spusť pomocí příkazu ve Windows:

C:\>python hello.py

a nebo v UNIXu:

$ python hello.py

Nastavení skriptu jako spustitelný soubor

Nyní jsi tedy schopný spustit Python program pomocí programu python. Co ale, když chceš svůj skript spouštět jako běžný program na počítači a nemuset se odvolávat na Python interpretr? Na operačních systémech typu UNIX se to dělá tak, že jako první řádku tvého skriptu přidáš následující:

#!/usr/bin/env python

a dále pak nastavíš práva na soubor tak, aby byl soubor se skriptem spustitelný.

$ chmod a+x hello.py

Nyní můžeš skript spustit pomocí:

./hello.py

Ve Windows použijte dvojklik ke spuštění svého skriptu. Problém je, že DOS okno s programem se uzavře ihned po proběhnutí skriptu. Jako možné řešení můžeš přidat následující řádek na konec programu:

input("Press <enter>")

Komentáře

Znak hash (mřížka) je speciální znak v Pythonu. Kdekoliv jej použiješ, vše napravo od tohoto znaku je bráno jako jako komentář a je ignorováno pro běh programu.

# Collect the user's name
name = input("What is your name?") # This is also comment
{
  "data": {
    "sessionMaterial": {
      "id": "session-material:2019/tieto-ostrava-jaro:install:4",
      "title": "Interaktivní příkazová řádka Pythonu",
      "html": "\n          \n    \n\n    <h2>Interaktivn&#xED; p&#x159;&#xED;kazov&#xE1; &#x159;&#xE1;dka Pythonu</h2>\n<p>Zkontroluj si, &#x17E;e m&#xE1;&#x161; aktivovan&#xE9; virtu&#xE1;ln&#xED; prost&#x159;ed&#xED; (na za&#x10D;&#xE1;tku p&#x159;&#xED;kazov&#xE9;\n&#x159;&#xE1;dky ti sv&#xED;t&#xED; <code>(venv)</code>).</p>\n<p>Je-li tomu tak, nezb&#xFD;v&#xE1; ne&#x17E; &#x2013; kone&#x10D;n&#x11B; &#x2013; pustit Python.\nK&#xA0;tomu pou&#x17E;ij p&#x159;&#xED;kaz <code>python</code>:</p>\n<div class=\"highlight\"><pre><code>(venv)$ python\nPython 3.4.0 (default, Jan 26 2014, 18:15:05)\n[GCC 4.8.2 20131212 (Red Hat 4.8.2-7)] on linux\nType &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.\n&gt;&gt;&gt;</code></pre></div><p>Zkus napsat do p&#x159;&#xED;kazov&#xE9;ho &#x159;&#xE1;dku p&#x159;&#xED;kaz:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; print(&quot;Hello, world!&quot;)</code></pre></div><p>Kdy&#x17E; stiskne&#x161; Enter, m&#x11B;l by se ti objevit n&#xFD;sleduj&#xED;c&#xED; v&#xFD;stup:</p>\n<div class=\"highlight\"><pre><code>Hello, world!\n&gt;&gt;&gt;</code></pre></div><p>Pokud jste zvykl&#xED; z jin&#xFD;ch programovac&#xED;cj jazyk&#x16F;, &#x17E;e &#x159;&#xE1;dka mus&#xED; b&#xFD;t ukon&#x10D;ena st&#x159;edn&#xED;kem, pak v Pythonu to nen&#xED; zapot&#x159;eb&#xED;.</p>\n<p>Toto zna&#x10D;&#xED; p&#x159;&#xED;kazov&#xFD; &#x159;&#xE1;dek:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt;</code></pre></div><p>Pokud do n&#x11B;j nap&#xED;&#x161;e&#x161; &#x159;et&#x11B;zec v uvozovk&#xE1;ch:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; &quot;Hello world!&quot;</code></pre></div><p>dostane&#x161; n&#xE1;sleduj&#xED;c&#xED; v&#xFD;stup:</p>\n<div class=\"highlight\"><pre><code>&apos;Hello world!&apos;\n&gt;&gt;&gt;</code></pre></div><p>Pokud ale zkus&#xED;&#x161; napsat podobn&#xFD; p&#x159;&#xED;kaz:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; Have fun!\n  File &quot;&lt;stdin&gt;&quot;, line 1\n    Have fun!\n           ^\nSyntaxError: invalid syntax\n&gt;&gt;&gt;</code></pre></div><p>Obdr&#x17E;&#xED;&#x161; chybov&#xE9; hl&#xE1;&#x161;en&#xED;, &#x17E;e Python interpret nerozum&#xED; p&#x159;&#xED;kazu.</p>\n<h3>&#x10C;&#xED;sla a v&#xFD;razy</h3>\n<p>Zkus n&#xE1;sleduj&#xED;c&#xED; p&#x159;&#xED;kazy:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 2 + 2\n4</code></pre></div><p>V&#xFD;sledkem s&#x10D;&#xED;t&#xE1;n&#xED; je cel&#xE9; &#x10D;&#xED;slo. Pokud budeme d&#x11B;lit, v&#xFD;sledkem bude &#x10D;&#xED;slo s pohyblivou &#x10D;&#xE1;rkou (floating-point number).</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 1 / 2\n0.5\n&gt;&gt;&gt; 1 / 1\n1.0</code></pre></div><p>Pokud t&#x11B; zaj&#xED;m&#xE1; celo&#x10D;&#xED;seln&#xE9; d&#x11B;len&#xED;, zkus:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 1 // 2\n0\n&gt;&gt;&gt; 1 // 1\n1\n&gt;&gt;&gt; 5.0 // 2.4\n2.0</code></pre></div><p>Oper&#xE1;tor modulo:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 1 % 2\n1</code></pre></div><p>N&#x11B;kter&#xE9; p&#x159;&#xED;klady celo&#x10D;&#xED;seln&#xE9;ho d&#x11B;len&#xED; a zbytku po celo&#x10D;&#xED;seln&#xE9;m d&#x11B;len&#xED;:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 10 // 3\n3\n&gt;&gt;&gt; 10 % 3\n1\n&gt;&gt;&gt; 9 // 3\n3\n&gt;&gt;&gt; 9 % 3\n0</code></pre></div><p>Posledn&#xED; oper&#xE1;tor na kter&#xFD; se pod&#xED;v&#xE1;me je oper&#xE1;tor exponenci&#xE1;ln&#xED; oper&#xE1;tor:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 2 ** 3\n8\n&gt;&gt;&gt; -3 ** 2\n-9\n&gt;&gt;&gt; (-3) ** 2\n9</code></pre></div><h4>Hexadecim&#xE1;ln&#xED;, osmi&#x10D;kov&#xFD; a bin&#xE1;rn&#xED; z&#xE1;pis &#x10D;&#xED;sel</h4>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 0xAF\n175\n&gt;&gt;&gt; 010\n8\n&gt;&gt;&gt; 0b1011010010\n722</code></pre></div><div class=\"admonition note\"><p>V z&#xE1;vislosti na verzi Pythonu se m&#x16F;&#x17E;e st&#xE1;t, &#x17E;e osmi&#x10D;kov&#xFD; z&#xE1;pis &#x10D;&#xED;sel sel&#x17E;e s chybou jako je n&#xE1;selduj&#xED;c&#xED;:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 0l0\n File &quot;&lt;stdin&gt;&quot;, line 1\n   0l0\n      ^\nSyntaxError: invalid syntax</code></pre></div><p>Pokud se to stane, bude&#x161; muset zad&#xE1;vat osmi&#x10D;kov&#xFD; z&#xE1;pis ve tvaru:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 0o10\n8</code></pre></div><p>Jedn&#xE1; se o zm&#x11B;nu v Python3, popsanou v <a href=\"http://www.python.org/dev/peps/&gt;%20pep-3127/\">PEP-3127</a></p>\n</div><h3>Prom&#x11B;nn&#xE9;</h3>\n<p>Pokud m&#xE1;&#x161; alespo&#x148; mal&#xE9; zku&#x161;enosti s programov&#xE1;n&#xED;m, je ti asi zn&#xE1;m&#xFD; koncept <em>prom&#x11B;nn&#xFD;ch (variables)</em>. Prom&#x11B;nn&#xE1; reprezentuje n&#x11B;jakou hodnotu. Touto hodnotou m&#x16F;&#x17E;e b&#xFD;t &#x159;et&#x11B;zec, &#x10D;&#xED;slo atd. P&#x159;i&#x159;adit hodnotu do prom&#x11B;nn&#xE9; m&#x16F;&#x17E;eme v Pythonu snadno takto:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; x = 2</code></pre></div><p>Pot&#xE9;, co p&#x159;i&#x159;ad&#xED;me prom&#x11B;nn&#xE9; n&#x11B;jakou hodnotu, m&#x16F;&#x17E;eme prom&#x11B;nnou pou&#x17E;&#xED;t v dal&#x161;&#xED;m k&#xF3;du:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; x * 2\n4</code></pre></div><div class=\"admonition note\"><p>Jm&#xE9;no prom&#x11B;nn&#xE9; m&#x16F;&#x17E;e obsahovat p&#xED;smena, &#x10D;&#xED;sla a znak podr&#x17E;&#xED;tka (_). Nem&#x16F;&#x17E;ou za&#x10D;&#xED;nat &#x10D;&#xED;slem, tak&#x17E;e prom&#x11B;nn&#xE1; s n&#xE1;zvem <strong>variable1</strong> je validn&#xED;, ale <strong>1variable</strong> u&#x17E; ne.</p>\n</div><h3>P&#x159;&#xED;kazy</h3>\n<p>Rozd&#xED;l mezi v&#xFD;razy a p&#x159;&#xED;kazy je n&#xE1;sleduj&#xED;c&#xED;, zat&#xED;mco v&#xFD;raz <em>je</em> n&#x11B;co, p&#x159;&#xED;kaz <em>d&#x11B;l&#xE1;</em> n&#x11B;co. Nap&#x159;&#xED;klad v&#xFD;raz 3 * 3 <em>je</em> 9:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 3 * 3\n9</code></pre></div><p>ale p&#x159;&#xED;kaz print(3 * 3) <em>vytiske</em> hodnotu 9.</p>\n<div class=\"highlight\"><pre><code>print(3 * 3)\n9</code></pre></div><h3>Z&#xED;sk&#xE1;n&#xED; vstupu od u&#x17E;ivatele</h3>\n<p>Pokud pot&#x159;ebuje&#x161; v programu z&#xED;skat od u&#x17E;ivatele n&#x11B;jakou vstupn&#xED; hodnotu, m&#x16F;&#x17E;e&#x161; pou&#x17E;&#xED;t funkci input.</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; input(&apos;Zadejte velikost vasich bot: &apos;)\nZadejte velikost vasich bot: 45\n&apos;45&apos;</code></pre></div><p>Pomoc&#xED; funce input m&#x16F;&#x17E;e&#x161; p&#x159;i&#x159;adit nejakou hodnotu do prom&#x11B;nn&#xE9;, nap&#x159;&#xED;klad takto:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; x = input(&quot;x: &quot;)\nx: 45\n&gt;&gt;&gt; y = input(&quot;y: &quot;)\ny: 23</code></pre></div><p>A nyn&#xED; m&#x16F;&#x17E;e&#x161; ov&#x11B;&#x159;it, &#x17E;e hodnoty byly p&#x159;i&#x159;azeny prom&#x11B;nn&#xFD;m x a y a m&#x16F;&#x17E;e&#x161; je d&#xE1;le pou&#x17E;&#xED;t:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; print(int(x) * int(y))\n1035</code></pre></div><div class=\"admonition note\"><p>V&#x161;imni si, &#x17E;e jsme uvnit&#x159; funkce print museli u prom&#x11B;nn&#xFD;ch x a y pou&#x17E;&#xED;t funkci <em>int()</em>.  Jedn&#xE1; se o tzn. p&#x159;etypov&#xE1;n&#xED;, kter&#xE9; jsme museli ud&#x11B;lat, proto&#x17E;e u&#x17E;ivatel zadal hodnoty do prom&#x11B;nn&#xFD;ch x a y jako &#x159;et&#x11B;zce a ne jako &#x10D;&#xED;sla. Zkus si, co by se stalo, kdyby jsi p&#x159;etypov&#xE1;n&#xED; neprovedl.</p>\n</div><h2>Funkce</h2>\n<p>Funkce jsou jako mal&#xE9; programy, kter&#xE9; slou&#x17E;&#xED; k vykon&#xE1;n&#xED; ur&#x10D;it&#xE9; specifick&#xE9; akce. Python m&#xE1; mnoho funkc&#xED;, kter&#xE9; m&#x16F;&#x17E;e&#x161; vyu&#x17E;&#xED;vat. Tyto se naz&#xFD;vaj&#xED; <em>built-in</em> funkce. D&#xE1;le si pak ka&#x17E;d&#xFD; u&#x17E;ivatel m&#x16F;&#x17E;e vytv&#xE1;&#x159;et sv&#xE9; flastn&#xED; funkce dle pot&#x159;eby.</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 2 ** 3\n8\n&gt;&gt;&gt; pow(2, 3)\n8</code></pre></div><p>Zde vid&#xED;me, &#x17E;e funkce pow() vykon&#xE1;v&#xE1; stejnou funci, jako v&#xFD;raz 2 ** 3.</p>\n<h2>Moduly</h2>\n<p>Moduly jsou roz&#x161;&#xED;&#x159;en&#xED;m v&#xFD;choz&#xED;ch schopnost&#xED; Pythonu a mohou b&#xFD;t importov&#xE1;ny do tv&#xE9;ho k&#xF3;du.</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; import math\n&gt;&gt;&gt; math.floor(11.9)\n11</code></pre></div><div class=\"highlight\"><pre><code>&gt;&gt;&gt; from math import sqrt\n&gt;&gt;&gt; sqrt(9)\n3.0</code></pre></div><p>Mnoho modul&#x16F; je standarn&#xED; sou&#x10D;&#xE1;st&#xED; Pythonu (jako nap&#x159;&#xED;klad modul <em>math</em>), dal&#x161;&#xED; pak mohou b&#xFD;t naprogramov&#xE1;ny tebou nebo n&#x11B;k&#xFD;m dal&#x161;&#xED;m.</p>\n<h2>Ulo&#x17E;en&#xED; a spu&#x161;t&#x11B;n&#xED; va&#x161;ich program&#x16F;</h2>\n<p>Doposud jsme si ukazovali, jak zad&#xE1;vat p&#x159;&#xED;kazy v Python interaktivn&#xED; p&#x159;&#xED;kazov&#xE9; &#x159;&#xE1;dce. Co ale, kdy&#x17E; chceme n&#xE1;&#x161; program uloz&#x17E;it pro pozd&#x11B;j&#x161;&#xED; pou&#x17E;it&#xED;? Pokud toti&#x17E; zav&#x159;eme okno s Python interaktivn&#xED; p&#x159;&#xED;kazovou &#x159;&#xE1;dkou, v&#x161;w co jsem napsali je ztraceno.</p>\n<p>Pokud chcete ps&#xE1;t programy pro dal&#x161;&#xED; pou&#x17E;it&#xED;, mus&#xED;te jej ulo&#x17E;it so souboru a pozd&#x11B;ji jej spustit. Pro psan&#xED; programu v Pythonu bude&#x161; pot&#x159;ebovat textov&#xFD; editor. Jak jej z&#xED;skat a nainstalovat je pops&#xE1;no v kapitole <a href=\"/2019/tieto-ostrava-jaro/beginners/install-editor/\">Instalace editoru</a>.</p>\n<p>Otev&#x159;i nov&#xFD; soubor, pojmenuj ho hello.py a vlo&#x17E; do n&#x11B;j n&#xE1;sleduj&#xED;c&#xED; &#x159;&#xE1;dky:</p>\n<div class=\"highlight\"><pre><code>name = input(&quot;What is your name? &quot;)\nprint(&quot;Hello, &quot; + name  + &quot;!&quot;)</code></pre></div><p>Ulo&#x17E; soubor a spus&#x165; pomoc&#xED; p&#x159;&#xED;kazu ve Windows:</p>\n<div class=\"highlight\"><pre><code>C:\\&gt;python hello.py</code></pre></div><p>a nebo v UNIXu:</p>\n<div class=\"highlight\"><pre><code>$ python hello.py</code></pre></div><h2>Nastaven&#xED; skriptu jako spustiteln&#xFD; soubor</h2>\n<p>Nyn&#xED; jsi tedy schopn&#xFD; spustit Python program pomoc&#xED; programu <em>python</em>. Co ale, kdy&#x17E; chce&#x161; sv&#x16F;j skript spou&#x161;t&#x11B;t jako b&#x11B;&#x17E;n&#xFD; program na po&#x10D;&#xED;ta&#x10D;i a nemuset se odvol&#xE1;vat na Python interpretr? Na opera&#x10D;n&#xED;ch syst&#xE9;mech typu UNIX se to d&#x11B;l&#xE1; tak, &#x17E;e jako prvn&#xED; &#x159;&#xE1;dku tv&#xE9;ho skriptu p&#x159;id&#xE1;&#x161; n&#xE1;sleduj&#xED;c&#xED;:</p>\n<div class=\"highlight\"><pre><code>#!/usr/bin/env python</code></pre></div><p>a d&#xE1;le pak nastav&#xED;&#x161; pr&#xE1;va na soubor tak, aby byl soubor se skriptem spustiteln&#xFD;.</p>\n<div class=\"highlight\"><pre><code>$ chmod a+x hello.py</code></pre></div><p>Nyn&#xED; m&#x16F;&#x17E;e&#x161; skript spustit pomoc&#xED;:</p>\n<div class=\"highlight\"><pre><code>./hello.py</code></pre></div><p>Ve Windows pou&#x17E;ijte dvojklik ke spu&#x161;t&#x11B;n&#xED; sv&#xE9;ho skriptu. Probl&#xE9;m je, &#x17E;e DOS okno s programem se uzav&#x159;e ihned po prob&#x11B;hnut&#xED; skriptu. Jako mo&#x17E;n&#xE9; &#x159;e&#x161;en&#xED; m&#x16F;&#x17E;e&#x161; p&#x159;idat n&#xE1;sleduj&#xED;c&#xED; &#x159;&#xE1;dek na konec programu:</p>\n<div class=\"highlight\"><pre><code>input(&quot;Press &lt;enter&gt;&quot;)</code></pre></div><h2>Koment&#xE1;&#x159;e</h2>\n<p>Znak hash (m&#x159;&#xED;&#x17E;ka) je speci&#xE1;ln&#xED; znak v Pythonu. Kdekoliv jej pou&#x17E;ije&#x161;, v&#x161;e napravo od tohoto znaku je br&#xE1;no jako jako koment&#xE1;&#x159; a je ignorov&#xE1;no pro b&#x11B;h programu.</p>\n<div class=\"highlight\"><pre><code># Collect the user&apos;s name\nname = input(&quot;What is your name?&quot;) # This is also comment</code></pre></div>\n\n\n        "
    }
  }
}