MySQL Java JavaScript PHP Python HTML-CSS C-sharp

Expresii condiționale

O serie de operațiuni reprezintă expresii condiționale. Toate aceste operațiuni iau doi operanzi și returnează o valoare logică, care în Python este de tipul bool. Există doar două valori logice - True (expresia este adevărată) și False (expresia este falsă).

Operațiuni de comparație

Cele mai simple expresii condiționale sunt operațiunile de comparație, care compară două valori. Python suportă următoarele operațiuni de comparație:

  • == Returnează True dacă ambii operanzi sunt egali. În caz contrar, returnează False.
  • != Returnează True dacă ambii operanzi NU sunt egali. În caz contrar, returnează False.
  • > (mai mare decât) Returnează True dacă primul operand este mai mare decât al doilea.
  • < (mai mic decât)Returnează True dacă primul operand este mai mic decât al doilea.
  • >= (mai mare sau egal) Returnează True dacă primul operand este mai mare sau egal cu al doilea.
  • <= (mai mic sau egal) Returnează True dacă primul operand este mai mic sau egal cu al doilea.

Exemple de operațiuni de comparație:

a = 5
b = 6
result = 5 == 6  # salvăm rezultatul operațiunii într-o variabilă
print(result)  # False - 5 nu este egal cu 6
print(a != b)  # True
print(a > b)  # False - 5 este mai mic decât 6
print(a < b)  # True

bool1 = True
bool2 = False
print(bool1 == bool2)  # False - bool1 nu este egal cu bool2

Operațiunile de comparație pot compara diferite obiecte - șiruri de caractere, numere, valori logice, însă ambii operanzi ai operațiunii trebuie să fie de același tip.

Operațiuni logice

Pentru a crea expresii condiționale compuse se folosesc operațiuni logice. În Python există următorii operatori logici:

Operatorul and (și logic) se aplică la doi operanzi:

x and y

Mai întâi, operatorul and evaluează expresia x, iar dacă aceasta este False, atunci returnează valoarea ei. Dacă este True, se evaluează al doilea operand y și se returnează valoarea lui.

age = 22
weight = 58
result = age > 21 and weight == 58
print(result)  # True

În acest caz, operatorul and compară rezultatele a două expresii: age > 21 și weight == 58. Și dacă ambele expresii returnează True, operatorul and returnează de asemenea True (formal se returnează valoarea ultimului operand). Dar operanzii operatorului and nu trebuie neapărat să fie valori True și False. Pot fi orice valori. De exemplu:

result = 4 and "w"
print(result)  # w, deoarece 4 este echivalent cu True, așa că se returnează valoarea ultimului operand

result = 0 and "w"
print(result)  # 0, deoarece 0 este echivalent cu False

În acest caz, numărul 0 și șirul gol "" sunt considerate False, toate celelalte numere și șiruri negoale sunt echivalente cu True.

  • Operatorul or (sau logic) se aplică la doi operanzi:
x or y

Mai întâi, operatorul or evaluează expresia x, iar dacă aceasta este True, atunci returnează valoarea ei. Dacă este False, se evaluează al doilea operand y și se returnează valoarea lui. De exemplu:

age = 22
isMarried = False
result = age > 21 or isMarried
print(result)  # True, deoarece expresia age > 21 este True

Și de asemenea operatorul or poate fi aplicat la orice valori. De exemplu:

result = 4 or "w"
print(result)  # 4, deoarece 4 este echivalent cu True, așa că se returnează valoarea primului operand

result = 0 or "w"
print(result)  # w, deoarece 0 este echivalent cu False, așa că se returnează valoarea ultimului operand
  • Operatorul not (negare logică) Returnează True dacă expresia este False.
age = 22
isMarried = False
print(not age > 21)  # False
print(not isMarried)  # True
print(not 4)  # False
print(not 0)  # True
  • Operatorul in

Operatorul in returnează True dacă un anumit set de valori conține o valoare specifică. Are următoarea formă:

valoare in set_de_valori

De exemplu, un șir de caractere reprezintă un set de caractere. Și cu ajutorul operatorului in putem verifica dacă acesta conține un anumit subșir:

message = "hello world!"
hello = "hello"
print(hello in message)  # True - subșirul "hello" există în șirul "hello world!"

gold = "gold"
print(gold in message)  # False - subșirul "gold" nu există în șirul "hello world!"

Dacă dorim să verificăm contrariul, dacă un set de valori NU conține o valoare specifică, putem folosi modificarea operatorului - not in. Aceasta returnează True dacă setul de valori NU conține valoarea specifică:

message = "hello world!"
hello = "hello"
print(hello not in message)  # False

gold = "gold"
print(gold not in message)  # True

← Lecția anterioară Lecția următoare →