Výpis souhrnů
Proměnné a výrazy
Prohlížíte si souhrny informací k určitým tématům. Systémy Umíme se zaměřují hlavně na jejich procvičování. Ke cvičením k jednotlivým podtématům se dostanete pomocí odkazů níže.
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 5
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:
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 + 8
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í.
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, y
Další 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é:
True
je logická konstanta (pravda), kdežtotrue
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
= negaceand
= a zároveň (konjunkce) = výsledek jeTrue
, pokud jsou oba dva argumentyTrue
or
= 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 -> 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ý 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.