V tomto kurzu se dozvíte vše o různých typech operátorů v Pythonu, jejich syntaxi a jak je používat s příklady.
Video: Operátoři v Pythonu
Co jsou operátoři v pythonu?
Operátory jsou speciální symboly v Pythonu, které provádějí aritmetické nebo logické výpočty. Hodnota, na které operátor pracuje, se nazývá operand.
Například:
>>> 2+3 5
Tady +
je operátor, který provádí sčítání. 2
a 3
jsou operandy a 5
je výstupem operace.
Aritmetické operátory
Aritmetické operátory se používají k provádění matematických operací, jako je sčítání, odčítání, násobení atd.
Operátor | Význam | Příklad |
---|---|---|
+ | Přidejte dva operandy nebo unární plus | x + y + 2 |
- | Odečtěte pravý operand od levého nebo unárního mínusu | x - y- 2 |
* | Vynásobte dva operandy | x * y |
/ | Rozdělte levý operand pravým (vždy vede k float) | x / y |
% | Modul - zbytek dělení levého operandu pravým | x% y (zbytek x / y) |
// | Podlahové dělení - dělení, jehož výsledkem je celé číslo upravené vlevo v číselném řádku | x // y |
** | Exponent - levý operand povýšený na sílu pravého | x ** y (x k síle y) |
Příklad 1: Aritmetické operátory v Pythonu
x = 15 y = 4 # Output: x + y = 19 print('x + y =',x+y) # Output: x - y = 11 print('x - y =',x-y) # Output: x * y = 60 print('x * y =',x*y) # Output: x / y = 3.75 print('x / y =',x/y) # Output: x // y = 3 print('x // y =',x//y) # Output: x ** y = 50625 print('x ** y =',x**y)
Výstup
x + y = 19 x - y = 11 x * y = 60 x / y = 3,75 x // y = 3 x ** y = 50625
Porovnávací operátoři
Porovnávací operátory se používají k porovnání hodnot. Vrací se buď True
nebo False
podle podmínky.
Operátor | Význam | Příklad |
---|---|---|
> | Větší než - Pravda, pokud je levý operand větší než pravý | x> y |
< | Méně než - Pravda, pokud je levý operand menší než pravý | x <y |
== | Rovno - Pravda, pokud jsou oba operandy stejné | x == y |
! = | Není rovno - Pravda, pokud se operandy nerovnají | x! = y |
> = | Větší než nebo rovno - Pravda, pokud je levý operand větší nebo rovno doprava | x> = y |
<= | Méně než nebo rovno - Pravda, pokud je levý operand menší nebo rovno doprava | x <= y |
Příklad 2: Porovnávací operátory v Pythonu
x = 10 y = 12 # Output: x> y is False print('x> y is',x>y) # Output: x < y is True print('x < y is',x= y is False print('x>= y is',x>=y) # Output: x <= y is True print('x <= y is',x<=y)
Výstup
x> y je False x = y je False x <= y je True
Logické operátory
Logické operátory jsou and
, or
, not
operátory.
Operátor | Význam | Příklad |
---|---|---|
a | True, pokud jsou oba operandy pravdivé | x a y |
nebo | True, pokud je některý z operandů true | x nebo y |
ne | True, pokud je operand nepravdivý (doplňuje operand) | ne x |
Příklad 3: Logické operátory v Pythonu
x = True y = False print('x and y is',x and y) print('x or y is',x or y) print('not x is',not x)
Výstup
x a y je False x nebo y je True ne x je False
Zde je tabulka pravdivosti těchto operátorů.
Bitové operátory
Bitové operátory fungují na operandech, jako by to byly řetězce binárních číslic. Fungují kousek po kousku, odtud název.
Například 2 je 10
v binárním formátu a 7 je 111
.
V následující tabulce: Nechť x = 10 ( 0000 1010
v binární podobě) a y = 4 ( 0000 0100
v binární podobě)
Operátor | Význam | Příklad |
---|---|---|
& | Bitové AND | x & y = 0 ( 0000 0000 ) |
| | Bitové NEBO | x | y = 14 ( 0000 1110 ) |
~ | Bitové NENÍ | ~ x = -11 ( 1111 0101 ) |
^ | Bitový XOR | x y = 14 ( 0000 1110 ) |
>> | Bitový posun doprava | x >> 2 = 2 ( 0000 0010 ) |
<< | Bitový posun vlevo | x << 2 = 40 (0010 1000 ) |
Assignment operators
Assignment operators are used in Python to assign values to variables.
a = 5
is a simple assignment operator that assigns the value 5 on the right to the variable a on the left.
There are various compound operators in Python like a += 5
that adds to the variable and later assigns the same. It is equivalent to a = a + 5
.
Operator | Example | Equivalent to |
---|---|---|
= | x = 5 | x = 5 |
+= | x += 5 | x = x + 5 |
-= | x -= 5 | x = x - 5 |
*= | x *= 5 | x = x * 5 |
/= | x /= 5 | x = x / 5 |
%= | x %= 5 | x = x % 5 |
//= | x //= 5 | x = x // 5 |
**= | x **= 5 | x = x ** 5 |
&= | x &= 5 | x = x & 5 |
|= | x |= 5 | x = x | 5 |
^= | x ^= 5 | x = x 5 |
>>= | x>>= 5 | x = x>> 5 |
<<= | x <<= 5 | x = x << 5 |
Special operators
Python language offers some special types of operators like the identity operator or the membership operator. They are described below with examples.
Identity operators
is
and is not
are the identity operators in Python. They are used to check if two values (or variables) are located on the same part of the memory. Two variables that are equal does not imply that they are identical.
Operator | Meaning | Example |
---|---|---|
is | True if the operands are identical (refer to the same object) | x is True |
is not | True if the operands are not identical (do not refer to the same object) | x is not True |
Example 4: Identity operators in Python
x1 = 5 y1 = 5 x2 = 'Hello' y2 = 'Hello' x3 = (1,2,3) y3 = (1,2,3) # Output: False print(x1 is not y1) # Output: True print(x2 is y2) # Output: False print(x3 is y3)
Output
False True False
Here, we see that x1 and y1 are integers of the same values, so they are equal as well as identical. Same is the case with x2 and y2 (strings).
But x3 and y3 are lists. They are equal but not identical. It is because the interpreter locates them separately in memory although they are equal.
Membership operators
in
a not in
jsou operátory členství v Pythonu. Používají se k testování, zda je hodnota nebo proměnná nalezena v sekvenci (řetězec, seznam, n-tice, množina a slovník).
Ve slovníku můžeme testovat pouze přítomnost klíče, nikoli hodnotu.
Operátor | Význam | Příklad |
---|---|---|
v | True, pokud je v pořadí nalezena hodnota / proměnná | 5 v x |
ne v | True, pokud hodnota / proměnná není v sekvenci nalezena | 5 ne v x |
Příklad č. 5: Provozovatelé členství v Pythonu
x = 'Hello world' y = (1:'a',2:'b') # Output: True print('H' in x) # Output: True print('hello' not in x) # Output: True print(1 in y) # Output: False print('a' in y)
Výstup
Pravda Pravda Pravda Nepravda
Zde 'H'
je v x, ale 'hello'
není v x (pamatujte, že Python rozlišuje velká a malá písmena). Podobně 1
je klíč a 'a'
je hodnota ve slovníku y. Proto se 'a' in y
vrací False
.