Logische operatoren in Python (Logical operators)

Python kent drie verschillende logische operatoren, beter bekend als de logical operators. Dit zijn de andornot operatoren. Logische operatoren worden gebruikt om een programma keuzes te laten maken gebaseerd op verschillende voorwaarden/uitkomsten uit andere vergelijkingen. Elke operand kan gezien worden als een voorwaarde die de boolean waarde True of False heeft. Vervolgens bekijkt de logische operator of een overeenkomst wel of niet aanwezig is tussen deze twee waarden om vervolgens een output te geven.

Logische operatoren worden gebruikt om voorwaardelijke stellingen met elkaar te vergelijken en keren vervolgens de waarde True of False uit. De drie operatoren die we hier in Python voor gebruiken zijn de and, or en not operatoren. Deze werken als volgt:

  • and operator – Resulteert in de waarde True wanneer de operanden aan weerszijde van de operator True zijn.
  • or operator – Keert de waarde True uit als een van de twee operanden aan zowel de linker of rechterzijde True is.
  • not operator – Keert True uit als de operand False is.

Dit ziet er als volgt uit:

True and True = True # Want beide waarden zijn True
True or False = True # Want een van de twee waarden is True
not True = False # Is False want het is niet de waarde van True

Logische Operatoren in de praktijk

Logische operatoren zul je in de praktijk op veel verschillende manieren tegenkomen. Het principe achter deze operator blijft altijd gelijk: Je vergelijkt uitkomsten van andere vergelijkingen. Dit is samengevat in het onderstaande voorbeeld:

x = True
y = False
print('x en y is',x and y)
print('x of y is',x or y)
print('niet x is',not x)

Het voorbeeld van hierboven is de meest standaard weergave van de operatoren in de praktijk. Je zult deze helaas maar zelden op deze exacte manier zien voorkomen. Zie daarom dit praktijkvoorbeeld:

a = 10
b = 20
x = 50

print(b > a or b > x) # Eerste printfunctie
print(a > 5 and a < b) # Tweede printfunctie
print(not(a > 5 and a < 20)) # Derde printfunctie

In de eerste functie zie je dat de eerste statement b > a correct is, 20 is groter dan 10. De andere statement b > x is incorrect en geeft de waarde False want 20 is niet meer dan 50. Omdat de or operator ziet dat een van de twee statements True is keert de printfunctie de waarde True terug. In de tweede printfunctie zien beide waarden True, dus keert de functie ook True terug. In de derde printfunctie zijn ook beide statements correct. Maar de not operator zorgt ervoor dat de tegenovergestelde waarde (in geval) False als output gegeven wordt.

Meer weten over de verschillende soorten operatoren in Python? Bekijk dan het overzicht met operatoren.