4. Operácie

Operácie využívajú operandy a operátory. Operandami sú premenné/čísla a operátormi znamienka, napríklad + alebo -. Na vykonávanie operácií používame operátory. Poznáme napríklad:

Aritmetické

+ - * /, ale aj modul %, exponent ** a delenie bez zvyšku //

a, b = 6, 3
c = a + b
print("a + b =", c) # 9
c = a - b
print('a - b =', c) # 3
c = a * b
print('a * b =', c) # 18
c = a / b
print('a / b =', c) # 2.0
a, b = 17, 9
c = a % b
print('a % b =', c) # 8
c = a**2 + b**2
print('a**2 + b**2 =', c) # 370
c = a // b
print('a // b =', c) # 1

 

Logické

AND a OR

if a < b and b > 3:
    print('b je väčšie ako a, zároveň je b väčšie ako 3')
elif a > b or a == 6:
    print('a je väčšie ako b, zároveň a sa a rovná 6')

 

Bitové

používajú sa na bitové operácie – and(&), or(|), xor(^), komplement(~), binárny posun vľavo(<<) a vpravo(>>)

x = 10  # 1010
y = 14  # 1110
# and(&) - 1 ak bude na bitovom mieste oboch premenných 1
z = x & y
print('x & y =', bin(z)[2:])
# or(|) - 1 ak na bitovom mieste je aspoň jedna hodnota 1
z = x | y
print('x | y =', bin(z)[2:])
# xor(^) - 1 ak bude na bitovom mieste presne jedenkrát 1
z = x ^ y
print('x ^ y =', bin(z)[2:])
# komplement(~) - prevod každej 1 na 0 a opačne
z = ~x
print('~x =', bin(z))
# binárny posun vľavo(<<) - posun bitov o určitý počet miest vľavo (číslo sa zväčší)
z = x << 2
print('x << 2 =', bin(z)[2:])
# vpravo(>>) - posun bitov o určitý počet miest vpravo (číslo sa zmenší)
z = x >> 2
print('x >> 2 = ', bin(z)[2:])

 

Porovnávacie

rovná sa(==), nerovná sa(!= a <>), väčší(>), menší(<), väčší rovný(>=), menší rovný(<=)

x, y, z = 24, 17, 14
if x == y:
    print('x je rovné y')
if x != z:
    print('x je rozdielne od z')
if x > z:
    print('x je väčšie ako z')
if x < y:
    print('x je menšie ako y')
if z >= y:
    print('z je väčšie alebo rovné y')
elif z <= y:
    print('z je menšie alebo rovné y')

Identifikačné

porovnáva objekty, či sú rovnaké – is a is not

a = 15
b = a
if a is b:
    print('a = b')
if a is not b:
    print('a sa nerovná b')

 

Členské

testujú, či sa premenná nachádza v inej – in a not in

zoznam = ['Andrej', 'Martin', 'Igor', 'Dávid', 'Ondrej']
hladanyA = 'Martin'
hladanyB = 'Arnold'
if hladanyA in zoznam:
    print('Našla sa zhoda')
else:
    print('Nenašla sa zhoda')
if hladanyB not in zoznam:
    print('Hľadaný sa v zozname nenachádza')
else:
    print('Hľadaný sa v zozname nachádza')

Priraďovacie

priraďujú hodnotu do premennej (=) alebo sčítajú(+=), odčítajú(-=), vynásobia(*=), vydelia(/=), použijú modulus(%=), exponent(**=) alebo sa vydelí bez zvyšku(//=) a hodnota sa súčasne pridelí do premennej

premenna = 0
premenna += 1
print('premenna += 1 =', premenna) # 1
premenna -= 2
print('premenna -= 2 =', premenna) # -1
premenna *= 3
print('premenna *= 3 =', premenna) # -3
premenna /= 2
print('premenna /= 2 =', premenna) # -1.5
premenna **= 2
print('premenna **= 2 =', premenna) # 2.25
premenna //= 4
print('premenna //= 4 =', premenna) # 0.0