V tomto tutoriáli sa dozviete všetko o rôznych typoch operátorov v Pythone, ich syntaxi a o tom, ako ich používať, na príkladoch.
Video: Operátory v Pythone
Čo sú operátori v pythone?
Operátory sú špeciálne symboly v Pythone, ktoré vykonávajú aritmetické alebo logické výpočty. Hodnota, na ktorej operátor pracuje, sa nazýva operand.
Napríklad:
>>> 2+3 5
Tu +
je operátor, ktorý vykonáva sčítanie. 2
a 3
sú operandmi a 5
je výstupom operácie.
Aritmetické operátory
Aritmetické operátory sa používajú na vykonávanie matematických operácií, ako sú sčítanie, odčítanie, násobenie atď.
Prevádzkovateľ | Význam | Príklad |
---|---|---|
+ | Pridajte dva operandy alebo unárne plus | x + y + 2 |
- | Odčítajte pravý operand od ľavého alebo unárneho mínusu | x - y- 2 |
* | Vynásobte dva operandy | x * r |
/ | Rozdeliť ľavý operand na pravý (výsledkom bude vždy plavák) | x / r |
% | Modul - zvyšok rozdelenia ľavého operandu pravým | x% y (zvyšok x / r) |
// | Podlahové rozdelenie - rozdelenie, ktorého výsledkom je celé číslo upravené vľavo v číselnom rade | x // r |
** | Exponent - ľavý operand zdvihnutý na mocnosť pravého | x ** y (x do sily y) |
Príklad 1: Aritmetické operátory v Pythone
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ýkon
x + y = 19 x - y = 11 x * y = 60 x / y = 3,75 x // y = 3 x ** y = 50625
Porovnávacie operátory
Na porovnanie hodnôt sa používajú operátory porovnania. Vracia sa buď True
alebo False
podľa stavu.
Prevádzkovateľ | Význam | Príklad |
---|---|---|
> | Greater than - True, ak je ľavý operand väčší ako pravý | x> r |
< | Menej ako - Pravda, ak je ľavý operand menší ako pravý | x <r |
== | Rovné - Pravda, ak sú oba operandy rovnaké | x == r |
! = | Nerovná sa - True, ak sa operandy nerovnajú | x! = r |
> = | Väčší alebo rovný - Pravda, ak je ľavý operand väčší alebo rovný doprava | x> = r |
<= | Menšie alebo rovné - Pravda, ak je ľavý operand menší alebo rovný doprava | x <= r |
Príklad 2: Porovnávacie operátory v Pythone
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ýkon
x> y je False x = y je False x <= y je True
Logické operátory
Logické operátory sú and
, or
, not
operátormi.
Prevádzkovateľ | Význam | Príklad |
---|---|---|
a | True, ak sú obidva operandy pravdivé | x a r |
alebo | True, ak je jeden z operandov pravdivý | x alebo y |
nie | True, ak je operand nepravdivý (dopĺňa operand) | nie x |
Príklad 3: Logické operátory v Pythone
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ýkon
x a y je False x alebo y je True nie x je False
Tu je tabuľka pravdy pre týchto operátorov.
Bitové operátory
Bitové operátory pôsobia na operandy, akoby išlo o reťazce binárnych číslic. Fungujú kúsok po kúsku, odtiaľ pochádza aj názov.
Napríklad 2 je 10
v binárnej podobe a 7 je 111
.
V nasledujúcej tabuľke: Nech x = 10 ( 0000 1010
v binárnom formáte) a y = 4 ( 0000 0100
v binárnom formáte)
Prevádzkovateľ | Význam | Príklad |
---|---|---|
& | Bitové AND | x & y = 0 ( 0000 0000 ) |
| | Bitové ALEBO | x | y = 14 ( 0000 1110 ) |
~ | Bitove NIE | ~ x = -11 ( 1111 0101 ) |
^ | Bitový XOR | x y = 14 ( 0000 1110 ) |
>> | Bitový posun doprava | x >> 2 = 2 ( 0000 0010 ) |
<< | Bitový posun vľavo | 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
sú operátormi členstva v Pythone. Používajú sa na testovanie toho, či sa hodnota alebo premenná nachádzajú v sekvencii (reťazec, zoznam, n-tica, množina a slovník).
V slovníku môžeme testovať iba prítomnosť kľúča, nie hodnotu.
Prevádzkovateľ | Význam | Príklad |
---|---|---|
v | True, ak sa v poradí nájde hodnota / premenná | 5 v x |
nie v | True, ak sa v poradí nenájde hodnota / premenná | 5 nie v x |
Príklad č. 5: Členské operátory v Pythone
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ýkon
Pravda Pravda Pravda False
Tu 'H'
je v x, ale 'hello'
nie je v x (pamätajte, že Python rozlišuje veľké a malé písmená). Podobne 1
je kľúč a 'a'
predstavuje hodnotu v slovníku y. Preto sa 'a' in y
vracia False
.