Co to jest boolean?
W programowaniu boolean to typ danych, który ma dokładnie dwie wartości: prawdę (true) i fałsz (false). Programy dostają wartości logiczne z porównań takich jak age >= 18 i używają ich do decydowania, który kod się wykona, w instrukcjach if i warunkach pętli.
Aktualizacja: 24 września 2026
Każda decyzja, którą podejmuje program, sprowadza się do pytania z dwiema możliwymi odpowiedziami: czy hasło jest poprawne, czy koszyk jest pusty, czy minutnik doszedł do zera. Boolean to typ danych, który przechowuje takie odpowiedzi. Nazwa pochodzi od George'a Boole'a, angielskiego matematyka, który opisał algebrę wartości prawdy i fałszu w książkach wydanych w 1847 i 1854 roku.
Skąd biorą się wartości logiczne
Rzadko wpisujesz True albo False bezpośrednio. Większość wartości logicznych powstaje z porównań, które zadają pytanie o dwie wartości i odpowiadają wartością logiczną:
| Operator | Znaczenie | Przykład | Wynik |
|---|---|---|---|
== | równe | 3 == 3 | True |
!= | różne | 3 != 3 | False |
<, > | mniejsze, większe | 2 < 5 | True |
<=, >= | co najwyżej, co najmniej | 17 >= 18 | False |
Wartość logiczną można zapisać w zmiennej jak każdą inną wartość i łączyć z innymi wartościami logicznymi:
False
<class 'bool'>
False
True
Łączenie wartości logicznych: and, or, not
Trzy operatory logiczne budują większe warunki z mniejszych. and jest prawdziwe tylko wtedy, gdy obie strony są prawdziwe. or jest prawdziwe, gdy prawdziwa jest co najmniej jedna strona. not odwraca pojedynczą wartość.
a | b | a and b | a or b | not a |
|---|---|---|---|---|
True | True | True | True | False |
True | False | False | True | False |
False | True | False | True | True |
False | False | False | False | True |
Python zapisuje te operatory słowami. C, Java i JavaScript używają symboli: && dla and, || dla or, ! dla not. Wszystkie cztery języki przestają obliczać, gdy tylko odpowiedź jest znana, więc w a and b prawa strona nie jest sprawdzana, gdy a jest fałszem. Nazywa się to obliczaniem skróconym (short-circuit evaluation). Przewodnik po operatorach logicznych w Pythonie omawia to szczegółowo.
Jak wartości logiczne sterują programem
Instrukcja if wykonuje swój blok tylko wtedy, gdy warunek jest prawdziwy. Pętla while powtarza swój blok tak długo, jak warunek pozostaje prawdziwy, więc każdą pętlą steruje wartość logiczna sprawdzana na nowo przed każdym przebiegiem. To powtarzanie nazywa się iteracją.
Hot day
Countdown: 3
Countdown: 2
Countdown: 1
Gdy count dochodzi do 0, warunek count > 0 staje się False i pętla się kończy. Gdyby warunek nigdy nie mógł stać się fałszywy, pętla działałaby bez końca.
Wartości logiczne jako 1 i 0
Boolean potrzebuje tylko jednego bitu informacji: 1 dla prawdy, 0 dla fałszu. W praktyce języki zapisują wartość logiczną w co najmniej jednym całym bajcie, bo bajt to najmniejsza jednostka pamięci, która ma własny adres. W C bool z <stdbool.h> zajmuje 1 bajt w gcc i clang. Programy, które potrzebują milionów flag, pakują po 8 z nich w każdy bajt za pomocą operatorów bitowych.
Języki różnią się co do tego, czy wartość logiczna jest też liczbą. W Pythonie bool jest podklasą int, więc True równa się 1, a False równa się 0. To ułatwia liczenie:
True True
2
3 correct
JavaScript też daje 2 dla true + true. C nie miało typu logicznego aż do C99 i nadal traktuje każdą niezerową liczbę jako prawdę. Java jest surowa: if (1) się nie skompiluje, bo warunek w Javie musi być typu boolean.
Wartości truthy i falsy
Python i JavaScript pozwalają użyć dowolnej wartości jako warunku, nie tylko True i False. Wartości, które liczą się jako fałsz, nazywa się falsy; wszystkie pozostałe są truthy.
0 -> False
42 -> True
'' -> False
'False' -> True
[] -> False
[0] -> True
None -> False
W Pythonie zero, puste napisy, puste kolekcje i None są falsy. Napis "False" jest truthy, bo to napis, w którym jest pięć znaków. JavaScript ma własne wartości falsy, w tym false, 0, "", null, undefined i NaN, a pusta tablica [] jest tam truthy. Pełne reguły znajdziesz w artykule truthy i falsy w JavaScripcie.
Częste błędy
Porównywanie z True. if is_ready == True: działa, ale if is_ready: mówi to samo i czyta się krócej. Dla przypadku fałszu napisz if not is_ready:.
Traktowanie tekstu jak wartości logicznej. Dane od użytkownika, z pliku albo z formularza przychodzą jako napis, więc bool("false") daje True. Zamiast tego porównaj tekst: answer == "yes".
Zła wielkość liter. Python pisze True i False; JavaScript, Java i C piszą true i false. Wpisanie true w Pythonie daje NameError: name 'true' is not defined.
Niejasne nazwy. Nazywaj wartość logiczną jak pytanie typu tak lub nie, na przykład is_valid, has_access albo can_edit, żeby warunek czytał się jak zdanie: if user.can_edit:.
Co dalej
Wartości logiczne decydują, ile razy wykona się pętla, więc naturalną kolejną stroną jest czym jest iteracja, a strona co to jest bit pokazuje 0 i 1 ukryte pod każdą prawdą i fałszem. Szczegóły dla Pythona znajdziesz w artykule liczby i wartości logiczne, a warunki przećwiczysz w kursie Python.
Najczęściej zadawane pytania
Jaki jest przykład wartości boolean?
5 > 3 to wyrażenie logiczne, a jego wartość to True. Zmienna taka jak is_logged_in = False przechowuje wartość logiczną. W katalogu bibliotecznym wyszukiwanie cats AND dogs to zapytanie logiczne (Boolean), które korzysta z tej samej logiki.Czy boolean to 1 czy 0?
True == 1 daje True, a w C każda niezerowa liczba liczy się jako prawda. Java trzyma je osobno: boolean w Javie w ogóle nie może być używany jako liczba.Czy boolean to po prostu tak albo nie?
Czym jest boolean w Pythonie?
bool, a jego dwie wartości to True i False, pisane wielką literą. bool jest podklasą int, więc w obliczeniach True zachowuje się jak 1. Funkcja bool() zamienia dowolną wartość na True albo False według reguł prawdziwości w Pythonie.Czym jest wyszukiwanie logiczne (Boolean)?
python AND tutorial wymaga obu słów, python OR java przyjmuje którekolwiek, a python NOT snake wyklucza strony z drugim słowem. Katalogi bibliotek i bazy publikacji naukowych obsługują je bezpośrednio, a Google przyjmuje OR oraz znak minus zamiast NOT.