Python, známý pro svou čitelnost a jednoduchost, poskytuje rozsáhlou sadu operátorů, které umožňují manipulaci s daty. Tento rychlý průvodce vám pomůže zorientovat se v základních operátorech Pythonu a jejich praktickém využití.
Základní aritmetické operace
Aritmetické operátory slouží k provádění matematických výpočtů:
| Operátor | Popis | Příklad | Výsledek |
|---|---|---|---|
| + | Sčítání | 5 + 2 | 7 |
| – | Odčítání | 5 – 2 | 3 |
| * | Násobení | 5 * 2 | 10 |
| / | Dělení | 5 / 2 | 2.5 |
| % | Modulo (zbytek po dělení) | 5 % 2 | 1 |
| ** | Umocňování | 5 ** 2 | 25 |
| // | Celočíselné dělení | 5 // 2 | 2 |
Ukázky použití:
Sčítání
print(5 + 2)
7
Odčítání
print(5 – 2)
3
Násobení
print(5 * 2)
10
Dělení
print(5 / 2)
2.5
Zbytek po dělení
print(5 % 2)
1
Umocňování
print(5 ** 2)
25
Celočíselné dělení
print(5 // 2)
2
Operátory pro přiřazování hodnot
Tyto operátory slouží k uložení hodnot do proměnných.
| Operátor | Popis | Příklad | Výsledek |
|---|---|---|---|
| = | Přiřazení | x = 5 | x = 5 |
| += | Přiřazení se sčítáním | x += 2 | x = x + 2 |
| -= | Přiřazení s odčítáním | x -= 2 | x = x – 2 |
| *= | Přiřazení s násobením | x *= 2 | x = x * 2 |
| /= | Přiřazení s dělením | x /= 2 | x = x / 2 |
| %= | Přiřazení se zbytkem po dělení | x %= 2 | x = x % 2 |
| **= | Přiřazení s umocňováním | x **= 2 | x = x ** 2 |
| //= | Přiřazení s celočíselným dělením | x //= 2 | x = x // 2 |
Ukázky použití:
Přiřazení hodnoty
x = 5
Přiřazení se sčítáním
x += 2
x = x + 2, x = 7
Přiřazení s odčítáním
x -= 2
x = x – 2, x = 5
Přiřazení s násobením
x *= 2
x = x * 2, x = 10
Přiřazení s dělením
x /= 2
x = x / 2, x = 5
Přiřazení se zbytkem po dělení
x %= 2
x = x % 2, x = 0
Přiřazení s umocňováním
x **= 2
x = x ** 2, x = 25
Přiřazení s celočíselným dělením
x //= 2
x = x // 2, x = 12
Operátory pro porovnávání
Tyto operátory slouží k porovnávání hodnot a vrací buď True (pravda), nebo False (nepravda).
| Operátor | Popis | Příklad | Výsledek |
|---|---|---|---|
| == | Rovná se | 5 == 5 | True |
| != | Nerovná se | 5 != 5 | False |
| > | Větší než | 5 > 2 | True |
| < | Menší než | 5 < 2 | False |
| >= | Větší nebo rovno | 5 >= 2 | True |
| <= | Menší nebo rovno | 5 <= 2 | False |
Ukázky použití:
Rovná se
print(5 == 5)
True
Nerovná se
print(5 != 5)
False
Větší než
print(5 > 2)
True
Menší než
print(5 < 2)
False
Větší nebo rovno
print(5 >= 2)
True
Menší nebo rovno
print(5 <= 2)
False
Logické operátory
Logické operátory se používají pro kombinování podmínek a tvorbu komplexních logických výrazů.
| Operátor | Popis | Příklad | Výsledek |
|---|---|---|---|
| and | Logický součin (True, pokud jsou obě podmínky True) |
True and True | True |
| or | Logický součet (True, pokud je alespoň jedna podmínka True) |
True or False | True |
| not | Negace (mění True na False a False na True) |
not True | False |
Ukázky použití:
Logický součin
print(True and True)
True
Logický součet
print(True or False)
True
Negace
print(not True)
False
Bitové operátory
Bitové operátory se využívají k provádění operací na jednotlivých bitech čísel.
| Operátor | Popis | Příklad | Výsledek |
|---|---|---|---|
| & | Bitový součin | 5 & 2 | 0 |
| | | Bitový součet | 5 | 2 | 7 |
| ^ | Bitový exkluzivní součet (XOR) | 5 ^ 2 | 7 |
| ~ | Bitová negace | ~5 | -6 |
| << | Bitový posun vlevo | 5 << 2 | 20 |
| >> | Bitový posun vpravo | 5 >> 2 | 1 |
Ukázky použití:
Bitový součin
print(5 & 2)
0
Bitový součet
print(5 | 2)
7
Bitový exkluzivní součet
print(5 ^ 2)
7
Bitová negace
print(~5)
-6
Bitový posun vlevo
print(5 << 2)
20
Bitový posun vpravo
print(5 >> 2)
1
Operátory identity a příslušnosti
Tyto operátory se používají k porovnávání objektů a ověřování jejich příslušnosti ke kolekcím (seznamy, řetězce atd.).
| Operátor | Popis | Příklad | Výsledek |
|---|---|---|---|
| is | Zjištění, zda se jedná o stejný objekt | x is y | True (pokud x a y odkazují na stejný objekt) |
| is not | Zjištění, zda se nejedná o stejný objekt | x is not y | False (pokud x a y odkazují na stejný objekt) |
| in | Zjištění, zda se objekt nachází v kolekci | 5 in [1, 2, 3, 4, 5] | True |
| not in | Zjištění, zda se objekt nenachází v kolekci | 5 not in [1, 2, 3, 4, 5] | False |
Ukázky použití:
Zda se jedná o stejný objekt
x = 5
y = 5
print(x is y)
True
Zda se nejedná o stejný objekt
x = 5
y = 6
print(x is not y)
True
Zda je objekt v seznamu
print(5 in [1, 2, 3, 4, 5])
True
Zda není objekt v seznamu
print(5 not in [1, 2, 3, 4, 5])
False
Priorita operátorů
Operátory s vyšší prioritou se vyhodnocují před operátory s nižší prioritou. Pro přesné určení pořadí vyhodnocení je možné používat kulaté závorky ().
| Priorita | Operátor | Popis |
|---|---|---|
| Nejvyšší | ** | Umocňování |
| ~, +, – | Bitová negace, unární plus, unární minus | |
| *, /, //, % | Násobení, dělení, celočíselné dělení, modulo | |
| +, – | Sčítání, odčítání | |
| <<, >> | Bitový posun vlevo, bitový posun vpravo | |
| & | Bitový součin | |
| ^ | Bitový exkluzivní součet | |
| | | Bitový součet | |
| ==, !=, >, <, >=, <= | Porovnávací operátory | |
| is, is not | Operátory identity | |
| in, not in | Operátory příslušnosti | |
| not | Logická negace | |
| and | Logický součin | |
| or | Logický součet | |
| Nejnižší | =, +=, -=, *=, /=, %=, **=, //= | Operátory přiřazení |
Ukázky použití:
5 + 2 * 3 = 11 (násobení se provede dříve než sčítání)
print(5 + 2 * 3)
11
(5 + 2) * 3 = 21 (sčítání se provede dříve než násobení)
print((5 + 2) * 3)
21
Závěrem
Operátory jsou klíčovým prvkem jazyka Python, umožňující efektivní manipulaci s daty a vytváření logických konstrukcí. Znalost jejich funkcí a priority je nezbytná pro psaní kvalitního kódu.
Doporučuje se používat závorky pro explicitní definování pořadí operací, zejména tam, kde může dojít k nejasnostem.
Použití operátorů je efektivní způsob, jak kód zjednodušit a zoptimalizovat.
Správné používání operátorů vede k dosažení optimální efektivity a čitelnosti kódu.
Často kladené otázky
1. Jakou má operátor in prioritu v porovnání s ==?
Operátor in má vyšší prioritu než ==, takže se vyhodnotí dříve.
2. Co je to „bitový součin“?
Bitový součin (&) je operace, která vrací 1, pouze pokud oba odpovídající bity mají hodnotu 1, jinak vrací 0.
3. Jaký je rozdíl mezi is a ==?
is porovnává identitu objektů (zda se jedná o ten samý objekt v paměti), zatímco == porovnává jejich hodnoty.
4. Co je to „bitový posun“?
Bitový posun (<< a >>) posouvá bity binární reprezentace čísla o daný počet pozic vlevo nebo vpravo.
5. Existují v Pythonu i jiné operátory?
Ano, Python má další operátory jako lambda pro vytváření anonymních funkcí, nebo yield pro generování hodnot v generátorech.
6. Jaký je rozdíl mezi // a /?
/ provádí klasické dělení s desetinnou částí, zatímco // provádí celočíselné dělení a vrací pouze celou část výsledku.
7. K čemu slouží operátor **?
Operátor ** je určen pro umocňování, například 2 ** 3 dává 8.
8. Jaký je rozdíl mezi += a =?
= přiřazuje proměnné hodnotu, zatímco += ji inkrementuje o zadanou hodnotu (např. x += 2 je ekvivalentní x = x + 2).
9. Jak se používá operátor not?
Operátor not neguje logickou hodnotu, tedy not True je False a not False je True.
10. Jak se liší operátory and a or?
and vrací True, pokud jsou obě podmínky True, zatímco or vrací True, pokud je alespoň jedna podmínka True.
Klíčová slova:
Python, operátory, referenční příručka, programování, aritmetika, sčítání, odčítání, násobení, dělení, modulo, umocňování, celočíselné dělení, operátory přiřazení, operátory pro porovnávání, logické operátory, bitové operátory, identita, příslušnost, priorita, závorky, optimalizace kódu, efektivita.