Práce s proměnnými a výrazy představují základní stavební bloky, ze kterých následně stavíme programy pomocí konstrukcí pro řízení výpočtu.

Základní procvičování v tomto tématu máme rozdělené na tři podtémata:

Další výrazy pak tvoříme například za využití řetězců a seznamů.

Pro úplné začátečníky v Pythonu může být užitečné si jako rozcvičku projít cvičení na proměnné z oblasti algoritmické myšlení. Tam je možné si procvičit základní principy proměnných bez specifik Pythonu.

Nahoru

Proměnné a číselné výrazy v Pythonu

Přejít ke cvičením na toto téma »

Proměnná je jméno, které odkazuje na nějakou hodnotu. Hodnota proměnné se může měnit – ostatně se taky jmenuje „proměnná“.

Názvy proměnných

Názvy proměnných mohou obsahovat písmena, čísla a znak podtržítko. Nesmí obsahovat mezeru a nesmí začínat na číslo. V názvech proměnných se rozlišují velká a malá písmena, tj. number a Number jsou dvě různé proměnné. V Pythonu je zvykem psát jména proměnných malými písmeny. Ve víceslovných názvech proměnných používáme podtržítko, např. list_length. Python 3 umožňuje používat v názvech proměnných i znaky české abecedy. Dobrá praxe však je psát názvy proměnných anglicky. Názvy proměnných volíme popisné.

Příklady:

  • korektní názvy proměnných: name, k, max_value
  • neplatné názvy proměnných: 2nd_var, actor name, max-value

Vytvoření a aktualizace proměnné

Proměnnou vytvoříme prostě tak, že do ní přiřadíme hodnotu. Hodnotu můžeme následně aktualizovat. Proměnná drží poslední hodnotu, která do ní byla přiřazena. Pro přiřazení používáme rovnítko:

Proměnné mohou být různého typu. Python je dynamicky typovaný programovací jazyk. To znamená, že v programu nemusíme uvádět typ proměnné, interpret jazyka jej určí automaticky. Pokud provedeme přiřazení x = 5, proměnná x bude automaticky typu int (celé číslo).

Výpis proměnných a výrazů

Výpis provádíme pomocí funkce print. Ta může mít více parametrů. Pokud chceme vypisovat znaky pro aritmetické operace, musíme je dát do uvozovek či apostrofů. Příklady:

Aritmetické operace

S čísly můžeme provádět základní aritmetické operace, zápis je stejný jako na běžných kalkulačkách (+, -, /, *). Python také nabízí podporu pro operace celočíselné dělení (//), dělení se zbytkem (%) a umocňování (**) – tyto operace se při programování často hodí.

V programování nemůžeme vynechávat zápis násobení tak jako v matematice, tj. nemůžeme psát y = 2x, musíme násobení zapsat s hvězdičkou y = 2*x.

Priorita operací je stejná jako v matematice a stejně jako v matematice můžeme používat závorky:

Zkrácený zápis

Při programování často aktualizujeme hodnotu proměnné tak, že k ní přičítáme určitou hodnotu, např. x = x + 1, money = money + wage. Protože to je častá operace, nabízí Python zkrácený zápis pomocí operátoru +=. Podobný operátor máme i pro další aritmetické operace.

Nahoru

Matematické funkce v Pythonu

Přejít ke cvičením na toto téma »

Python nabízí vestavěné funkce pro základní matematické funkce, například:

Další užitečné matematické funkce (např. log, sqrt, sin, floor) Python nabízí v knihovně math.

Nahoru

Logické výrazy v Pythonu

Přejít ke cvičením na toto téma »

Logické výrazy Python vyhodnocuje na hodnoty True (pravda) a False (nepravda). Přesný zápis těchto konstant bývá zdrojem chyb:

  • Velké písmeno je důležité: True je logická konstanta (pravda), kdežto true je název proměnné (která může držet libovolnou hodnotu).
  • "True" a "False" (tj. názvy logických konstant psány v uvozovkách) jsou obyčejné řetězce, nikoliv konstanty se speciálním významem.

Operátory porovnání

Základním logickým výrazem je porovnání mezi dvěma výrazy (např. porovnání hodnoty proměnné a konstanty). Operátory větší/menší zapisujeme podobně jako v matematice (> a <), „větší/menší nebo rovno“ zapisujeme >= a <=. Test na rovnost provádíme pomocí dvou rovnítek (==). Test na nerovnost zapisujeme !=.

Příklady:

x = 42     # přiřazení do proměnné

x == 42    # test rovnosti

x != 42    # test nerovnosti

x > 42     # je větší

x >= 42    # je větší nebo rovno

Pozor na rozdíl mezi přiřazením do proměnné (jedno rovnítko) a testem na rovnost (dvě rovnítka).

Varování: operátor is

Python obsahuje i další pokročilejší operátory. Mezi záludné patří is, které se zdánlivě chová podobně jako == a jeho použití bývá zdrojem chyb. Operátor is je užitečný nástroj pro pokročilé programátory, začátečníkům silně doporučujeme se mu vyhnout.

Logické spojky

Základní logické výrazy můžeme kombinovat pomocí klasických logických spojek:

  • not = negace
  • and = a zároveň (konjunkce) = výsledek je True, pokud jsou oba dva argumenty True
  • or = nebo (disjunkce) = výsledek je True, pokud je alespoň jeden z argumentů True
a = True    # pravda

b = False   # nepravda

c = a or b  # nebo -> True

c = a and b # a zároveň -> False

c = not a   # negace -> False

Pro procvičení významu spojek využijte cvičení Binární křížovka.

Zajímavost: logické spojky v jiných jazycích

V některých programovacích jazycích se logické spojky zapisují pomocí symbolů &, |, !. Na tyto symboly můžete v Pythonu také narazit (např. u množinových operací), ale pro logické spojky se nepoužívají, ty se v Pythonu píší anglickými názvy and, or, not.

Priority logických spojek

Priority operátorů jsou sestupně: not, and, or (tj. nejvyšší prioritu má not). Pro změnu priority či větší čitelnost výrazů můžeme využít závorky.

x = a or b and c   # nejdříve se vyhodnotí and, až poté or

x = a or (b and c) # to stejné jako předchozí, jen čitelněji zapsáno

x = (a or b) and c # tentokrát se nejdřív vyhodnotí or

x = not a or b     # nejdříve not, až potom or

x = not (a or b)   # nejdříve or, potom not
Nahoru
NAPIŠTE NÁM

Děkujeme za vaši zprávu, byla úspěšně odeslána.

Napište nám

Nevíte si rady?

Před položením dotazu si prosím projděte návody:

Prosíme, nezasílejte dotazy na prozrazení řešení úloh či vysvětlení postupu. Pokud hlásíte chybu, upřesněte prosím, v čem přesně spočívá a připojte snímek obrazovky.

Čeho se zpráva týká?

Vzkaz Hlášení chyby Obsah Ovládání Přihlášení Licence