Důležitým konceptem v programování jsou proměnné. Proměnná není nic jiného než pojmenování něčeho, co budeme chtít použít později. Programátoři proměnné používají k ukládání dat, aby byl jejich kód čitelnější a nemuseli si pamatovat konkrétní hodnoty.
Řekněme, že chceš vytvořit novou proměnnou s názvem jmeno
.
To se zapíše takto:
>>> jmeno = 'Ola'
Proměnná jmeno
teď bude mít hodnotu 'Ola'
.
Jak sis mohla všimnout, tenhle příkaz nic nevrátil – Python nevypsal žádný výsledek. Jak tedy víme, že proměnná skutečně existuje?
Zadej samotné jméno proměnné (tedy jmeno
, bez uvozovek) a stiskni
Enter:
>>> jmeno
'Ola'
Zkus si nastavit i jinou proměnnou – třeba svoji oblíbenou barvu:
>>> barva = 'modrá'
>>> barva
'modrá'
Kdykoli můžeš do proměnné přiřadit znovu, a změnit tak co se pod daným jménem skrývá:
>>> jmeno
'Ola'
>>> jmeno = "Soňa"
>>> jmeno
'Soňa'
Můžeš ji také předat funkci:
>>> len(jmeno)
4
Super, ne?
Proměnná může obsahovat cokoliv, například i čísla. Zkus tohle:
>>> sirka = 4
>>> delka = 6
>>> sirka * delka
24
Ale co když použiješ nesprávné jméno? Dokážeš odhadnout, co se stane?
Chyba!
Python má různé typy chyb. Tato se nazývá NameError
.
Python ti vrátí tuto chybu, pokud se pokusíš použít proměnnou,
která dosud nebyla nastavena.
Pokud někdy dojde k této chybě, zkontroluj svůj kód, abys zjistila,
jestli jsi někde neudělala překlep.
Profesionální programátoři pojmenovávají proměnné anglicky,
aby jim rozuměli co nejvíc kolegů po celém světě.
Ze začátku ale doporučujeme češtinu – je tak jasnější, která jména
si můžeš zvolit sama (např. barva
) a která jsou
z Pythonu (např. upper
).
Nevýhoda je, že si časem budeš muset odvyknout.
Každopádně je dobré nepoužívat diakritiku a vyhnout se velkým pímenům:
místo Jméno
použij jen jmeno
.
Která z těchto jmen ti Python dovolí použít jako proměnnou?
tlacitko5
5tlacitko
tlačítko
oblibena barva
oblibena-barva
oblibenaBarva
=
) můžeš proměnnou nastavit na jakoukoli hodnotu.{ "data": { "sessionMaterial": { "id": "session-material:2019/brno-podzim-snake:intro:4", "title": "Proměnné", "html": "\n \n \n\n <h1>Proměnné</h1>\n<p>Důležitým konceptem v programování jsou <em>proměnné</em>.\nProměnná není nic jiného než <em>pojmenování</em> něčeho,\nco budeme chtít použít později.\nProgramátoři proměnné používají k ukládání dat,\naby byl jejich kód čitelnější a nemuseli si pamatovat konkrétní hodnoty.</p>\n<p>Řekněme, že chceš vytvořit novou proměnnou s názvem <code>jmeno</code>.\nTo se zapíše takto:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"n\">jmeno</span> <span class=\"o\">=</span> <span class=\"s1\">'Ola'</span>\n</pre></div><p>Proměnná <code>jmeno</code> teď bude mít hodnotu <code>'Ola'</code>.</p>\n<p>Jak sis mohla všimnout, tenhle příkaz nic nevrátil – Python nevypsal\nžádný výsledek.\nJak tedy víme, že proměnná skutečně existuje?</p>\n<p>Zadej samotné jméno proměnné (tedy <code>jmeno</code>, bez uvozovek) a stiskni\n<kbd>Enter</kbd>:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"n\">jmeno</span>\n<span class=\"go\">'Ola'</span>\n</pre></div><p>Zkus si nastavit i jinou proměnnou – třeba svoji oblíbenou barvu:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"n\">barva</span> <span class=\"o\">=</span> <span class=\"s1\">'modrá'</span>\n<span class=\"gp\">>>> </span><span class=\"n\">barva</span>\n<span class=\"go\">'modrá'</span>\n</pre></div><p>Kdykoli můžeš do proměnné přiřadit znovu, a změnit tak co se pod\ndaným jménem skrývá:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"n\">jmeno</span>\n<span class=\"go\">'Ola'</span>\n<span class=\"gp\">>>> </span><span class=\"n\">jmeno</span> <span class=\"o\">=</span> <span class=\"s2\">"Soňa"</span>\n<span class=\"gp\">>>> </span><span class=\"n\">jmeno</span>\n<span class=\"go\">'Soňa'</span>\n</pre></div><p>Můžeš ji také předat funkci:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">jmeno</span><span class=\"p\">)</span>\n<span class=\"go\">4</span>\n</pre></div><p>Super, ne?</p>\n<p>Proměnná může obsahovat cokoliv, například i čísla.\nZkus tohle:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"n\">sirka</span> <span class=\"o\">=</span> <span class=\"mi\">4</span>\n<span class=\"gp\">>>> </span><span class=\"n\">delka</span> <span class=\"o\">=</span> <span class=\"mi\">6</span>\n<span class=\"gp\">>>> </span><span class=\"n\">sirka</span> <span class=\"o\">*</span> <span class=\"n\">delka</span>\n<span class=\"go\">24</span>\n</pre></div><p>Ale co když použiješ nesprávné jméno? Dokážeš odhadnout, co se stane?</p>\n<div class=\"solution\" id=\"solution-0\">\n <h3>Řešení</h3>\n <div class=\"solution-cover\">\n <a href=\"/2019/brno-podzim-snake/fast-track/variables/index/solutions/0/\"><span class=\"link-text\">Ukázat řešení</span></a>\n </div>\n <div class=\"solution-body\" aria-hidden=\"true\">\n <div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"n\">mesto</span> <span class=\"o\">=</span> <span class=\"s2\">"Tokyo"</span>\n<span class=\"gp\">>>> </span><span class=\"n\">mmesto</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n File <span class=\"nb\">"<stdin>"</span>, line <span class=\"m\">1</span>, in <span class=\"n\"><module></span>\n<span class=\"gr\">NameError</span>: <span class=\"n\">name 'mmesto' is not defined</span>\n</pre></div>\n </div>\n</div><p>Chyba!</p>\n<p>Python má různé typy chyb. Tato se nazývá <code>NameError</code>.\nPython ti vrátí tuto chybu, pokud se pokusíš použít proměnnou,\nkterá dosud nebyla nastavena.\nPokud někdy dojde k této chybě, zkontroluj svůj kód, abys zjistila,\njestli jsi někde neudělala překlep.</p>\n<h2>Jména proměnných</h2>\n<p>Profesionální programátoři pojmenovávají proměnné anglicky,\naby jim rozuměli co nejvíc kolegů po celém světě.\nZe začátku ale doporučujeme češtinu – je tak jasnější, která jména\nsi můžeš zvolit sama (např. <code>barva</code>) a která jsou\nz Pythonu (např. <code>upper</code>).\nNevýhoda je, že si časem budeš muset odvyknout.</p>\n<p>Každopádně je dobré nepoužívat diakritiku a vyhnout se velkým pímenům:\nmísto <code>Jméno</code> použij jen <code>jmeno</code>.</p>\n<p>Která z těchto jmen ti Python dovolí použít jako proměnnou?</p>\n<ul>\n<li><code>tlacitko5</code></li>\n<li><code>5tlacitko</code></li>\n<li><code>tlačítko</code></li>\n<li><code>oblibena barva</code></li>\n<li><code>oblibena-barva</code></li>\n<li><code>oblibenaBarva</code></li>\n</ul>\n<div class=\"solution\" id=\"solution-1\">\n <h3>Řešení</h3>\n <div class=\"solution-cover\">\n <a href=\"/2019/brno-podzim-snake/fast-track/variables/index/solutions/1/\"><span class=\"link-text\">Ukázat řešení</span></a>\n </div>\n <div class=\"solution-body\" aria-hidden=\"true\">\n <ul>\n<li><code>tlacitko5</code> ano.</li>\n<li><code>5tlacitko</code> ne: jména musí začínat písmenkem.</li>\n<li><code>tlačítko</code> ano, ale je diakritice (<code>č</code>, <code>í</code>) je lepší se vyhnout.</li>\n<li><code>oblibena barva</code> ne: to není jedno jméno, ale dvě!</li>\n<li><code>oblibena-barva</code> taky ne: to Python bere jako odečtení dvou proměnných\n(<code>oblibena</code> mínus <code>barva</code>).</li>\n<li><code>oblibenaBarva</code> ano, ale velkým písmenům je lepší se vyhnout.</li>\n</ul>\n<p>Kdybys potřebovala ve jménu více slov, použij podtržítko: např.\n<code>oblibena_barva</code>.</p>\n </div>\n</div><h2>Shrnutí</h2>\n<ul>\n<li><strong>Proměnné</strong> jsou jména pro hodnoty.</li>\n<li>Přiřazením (<code>=</code>) můžeš proměnnou nastavit na jakoukoli hodnotu.</li>\n<li>Proměnné pojmenováváme <strong>malými písmenky</strong> bez diakritiky.</li>\n<li>Na oddělení slov v rámci jména můžeme použít <strong>podtržítko</strong>.</li>\n</ul>\n\n\n " } } }