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.