Operátory Pythonu – Rychlá reference

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.