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 mohl/a všimnout, tenhle příkaz nic nevrátil – Python nevypsal žádný výslede. Jak tedy víme, že proměnná skutečně existuje?
Zadej samotné jméno proměnné (tedy jmeno
) 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é použít ve funkcích:
>>> len(jmeno)
4
Super, ne? Proměnná může obsahovat cokoliv, například také čí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 zjistil/a,
jestli jsi někde neudělal/a 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 sám/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
oblibena barva
oblibena-barva
=
) můžeš proměnnou nastavit na jakoukoli hodnotu.{ "data": { "sessionMaterial": { "id": "session-material:2018/snake-brno-codeweek: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 mohl/a všimnout, tenhle příkaz nic nevrátil – Python nevypsal\nžádný výslede.\nJak tedy víme, že proměnná skutečně existuje?</p>\n<p>Zadej samotné jméno proměnné (tedy <code>jmeno</code>) a stiskni <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é použít ve funkcích:</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?\nProměnná může obsahovat cokoliv, například také čí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=\"/2018/snake-brno-codeweek/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 zjistil/a,\njestli jsi někde neudělal/a 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 sám/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>oblibena barva</code></li>\n<li><code>oblibena-barva</code></li>\n</ul>\n<div class=\"solution\" id=\"solution-1\">\n <h3>Řešení</h3>\n <div class=\"solution-cover\">\n <a href=\"/2018/snake-brno-codeweek/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>oblibena barva</code> ne: to není jedno jméno, ale dvě!</li>\n<li><code>oblibena-barva</code> taky ne: je to výraz <code>oblibena</code> mínus <code>barva</code></li>\n</ul>\n<p>Kdybys potřeboval/a 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 " } } }