Výpis souhrnů
Proměnné a výrazy
Podtémata
Proměnné a výrazy
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:
- Proměnné a číselné výrazy v Pythonu – základní použití proměnných, zápis aritmetických výrazů
- Matematické funkce v Pythonu – použití základních matematických funkcí (např. zaokrouhlování, minimum, absolutní hodnota)
- Logické výrazy v Pythonu – operátory porovnání, logické spojky a jejich použití
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.
NahoruProměnné a číselné výrazy v Pythonu
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:
x = 20 # vytvoření proměnné x a přiřazení hodnoty 20
y = 5 # vytvoření proměnné y a přiřazení hodnoty 5
x = 10 # změna hodnoty x na 10
print(x, y) # vypíše 10 5Promě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:
a = 3
b = 8
print(a) # výstup: 3
print(a, b) # výstup: 3 8
print(a + b) # výstup: 11
print(a, "+", b) # výstup: 3 + 8Aritmetické 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í.
x + y # sčítání
x - y # odčítání
x * y # násobení
x / y # dělení
x // y # celočíselné dělení
x % y # dělení se zbytkem
x ** y # umocňování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.
Matematické funkce v Pythonu
Python nabízí vestavěné funkce pro základní matematické funkce, například:
abs(x) # absolutní hodnota x
round(x) # zaokrouhlená hodnota x (na celé číslo)
round(x, 2) # zaokrouhlená hodnota x na 2 desetinná místa
min(x, y) # minimum z x, y
max(x, y, z) # maximum z x, yDalší užitečné matematické funkce (např. log, sqrt, sin, floor) Python nabízí v knihovně math.
Logické výrazy v Pythonu
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é:
Trueje logická konstanta (pravda), kdežtotrueje 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 rovnoPozor 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= negaceand= a zároveň (konjunkce) = výsledek jeTrue, pokud jsou oba dva argumentyTrueor= nebo (disjunkce) = výsledek jeTrue, 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 -> FalsePro 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ý 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.