Ta strona wykorzystuje ciasteczka ("cookies") w celu zapewnienia maksymalnej wygody w korzystaniu z naszego serwisu. Czy wyrażasz na to zgodę?

Czytaj więcej
< All Topics
Print

Wartości logiczne

Kodowanie wartości logicznych

Wartości logiczne True, False kodowane są tak samo, jak liczby 1 (True) oraz 0 (False). Gdy na zmiennych False i True wykonuje się zwykłe operacje matematyczne, to okazuje się, ze kryją się za nimi liczy całkowite 1 i 0.

 

print(7*True+True)
print(False**2+True**3)
import math
print(math.sin(True))
print(math.sin(1))
>>>
8
3
0.8414709848078965
0.8414709848078965

Podobnie jak na liczbach działają dla nich relacje ‘<‘, ‘<=’, ‘>’ i ‘>=’ oraz ‘==’.

print(True==False+1)
print(True<False)
print(True>False)
print(True>=False+2)
>>>
True
False
True
False

W Pythonie wartości logiczne są zatem podtypem typu liczbowego.

 

Działania na wartościach logicznych

W programach często trzeba używać negacji, koniunkcji lub alternatywy wartości logicznych. Służą do tego słowa not, and i or. Są to jednocześnie operatory logiczne, co można sprawdzić używając następującego kodu:

print(True and True)
print(True and False)
print(True or False)
print(False or False)
print(not True)
print(not False)
>>>
True
False
True
False
False
True

W przypadku złożonych zdań logicznych trzeba umiejętnie stawiać nawiasy, bo wynik czasem od nich zależy.

print(False and False or True)
print((False and False) or True)
print(False and (False or True))
>>>
True
True
False

W działaniach na wartościach logicznych obowiązują trzy zasady:

1. Priorytet mają działania objęte nawiasem i tam najpierw wyliczany jest wynik.

2. Działanie not zamienia wartość logiczną stojącego przed nią zdania w pierwszej kolejności.

3. Działania and i or maja ten sam priorytet. W częściach kodu bez nawiasów wyznaczanie wyniku następuje od lewej do prawej.

W sytuacjach, które najczęściej są wynikiem błędnego kodu, Python potrafi podać jakieś wartości bez informacji o błędzie:

print(17 and 0)
print(False or 17)
print(not 7)
print(True and (not 0))
>>>
0
17
False
True

 

Należy mieć to na uwadze, gdyż powoduje to czasem błędne obliczenia bez komunikatów o błędzie.

Funkcje logiczne

Funkcjami logicznymi są wszystkie funkcje których wynikiem jest prawda (True) albo fałsz (False).

Jedną z ciekawszych funkcji logicznych jest bool(). Stosujemy ją wtedy, gdy jakieś działania i operacje nie są możliwe dla 0, pustego tekstu, ciągu bez elementów itp. Funkcja ta przyjmuje wtedy wartość False. W każdym innym przypadku ma wartość True.

print(bool(1))
print(bool(0))
print(bool(-2.6))
print(bool(‘ala’))
print(bool(”))
print(bool(‘ ‘))
>>>
True
False
True
True
False
True
Spis treści