Rozdział 9 · Słuchaj mojego rozkazu!
Truthiness i None
Stan nie zawsze wymaga wyraźnego porównania — Python potrafi zapytać o każde znaczenie, czy jest prawdziwe, czy fałszywe.
Stan nie zawsze wymaga wyraźnego porównania
już widzieliśmy w rozdziale 8: Pusty łańcuch znaków zachowuje się jak False,
a niepusty — jak True. To działa nie tylko dla łańcuch znaków —
Python potrafi zapytać o DOWOLNĄ wartość: „Czy zachowujesz się jak prawda, czy jak fałsz?” To
nazywa się truthiness („prawda”
Falsy są wartości, które zachowują się jak False
| Znaczenie | bool(...) | Dlaczego |
|---|---|---|
False | False | już fałsz |
None | False | „to nie ma znaczenia” |
0, 0.0 | False | zero jest uznawane za fałsz |
"" | False | pusty łańcuch znaków |
[], {} | False | pustych kolekcjach szczegółowo przyjrzymy się później |
Truthy to prawie wszystko inne
| Znaczenie | bool(...) | Dlaczego |
|---|---|---|
True | True | już prawda |
-10, 1, 42 | True | dowolną niezerową liczbą |
"нет", "0", "False" | True | każdy niepusty łańcuch znaków — nawet taki! |
truthiness.py
print(bool(0)) # False
print(bool(1)) # True
print(bool(-10)) #True – ujemne też nie jest zerem!
print(bool("")) # False
print(bool("False")) #True jest niepustym łańcuch znaków łańcuch znaków, a nie wartością False
print(bool("0")) # True również nie jest pustym łańcuch znaków
Tekst „False”
bool("False") równa się Truebo łańcuch znaków "False" składa się z pięciu znaków — nie jest pusty, co oznacza, że truthy. To samo z "0": To jest tekst z pojedynczym znakiem, a nie z cyfrą zero.None – „Tu nie ma sensu”
None jest szczególnym znaczeniem oznaczającym coś w stylu „nie ma
wartości”
none.py
value = None
print(value is None) # True
print(bool(value)) #False – None jest też falsy
print(value == 0) #False – None to nie jest 0
print(value == "") #False – None to nie jest pusta łańcuch znaków
Zwróć uwagę na operator is zamiast
== — do różnicy między nimi wrócimy w sekcji 9.17.
Praktyka: truthiness i None
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji