Menu
Coddy logo textTech

Cos'è un booleano?

In programmazione, un booleano è un tipo di dato con esattamente due valori, vero e falso. I programmi ottengono i booleani da confronti come age >= 18 e li usano per decidere quale codice eseguire, nelle istruzioni if e nelle condizioni dei cicli.

Di Kevin Spektor, Cofondatore e CTO

Aggiornato il 24 settembre 2026

Ogni decisione che un programma prende si riduce a una domanda con due risposte possibili: se la password è corretta, se il carrello è vuoto, se il timer è arrivato a zero. Il booleano è il tipo di dato che contiene quelle risposte. Prende il nome da George Boole, un matematico inglese che descrisse un'algebra di valori vero e falso in libri pubblicati nel 1847 e nel 1854.

Da dove nascono i booleani

Raramente scrivi True o False direttamente. La maggior parte dei booleani nasce dai confronti, che fanno una domanda su due valori e rispondono con un booleano:

OperatoreSignificatoEsempioRisultato
==uguale a3 == 3True
!=diverso da3 != 3False
<, >minore di, maggiore di2 < 5True
<=, >=al massimo, almeno17 >= 18False

Un booleano si può salvare in una variabile come qualsiasi altro valore e combinare con altri booleani:

False
<class 'bool'>
False
True

Combinare i booleani: and, or, not

Tre operatori logici costruiscono condizioni più grandi a partire da quelle più piccole. and è vero solo quando entrambi i lati sono veri. or è vero quando almeno un lato è vero. not inverte un singolo valore.

aba and ba or bnot a
TrueTrueTrueTrueFalse
TrueFalseFalseTrueFalse
FalseTrueFalseTrueTrue
FalseFalseFalseFalseTrue

Python scrive questi operatori come parole. C, Java e JavaScript usano simboli: && per and, || per or, ! per not. Tutti e quattro i linguaggi smettono di valutare appena conoscono la risposta, quindi in a and b il lato destro non viene mai controllato quando a è falso. Si chiama valutazione a corto circuito. La guida agli operatori logici in Python la tratta nel dettaglio.

Come i booleani controllano un programma

Un'istruzione if esegue il suo blocco solo quando la condizione è vera. Un ciclo while ripete il suo blocco finché la condizione resta vera, quindi ogni ciclo è guidato da un booleano che viene ricontrollato prima di ogni passaggio. Questa ripetizione si chiama iterazione.

Hot day
Countdown: 3
Countdown: 2
Countdown: 1

Quando count arriva a 0, la condizione count > 0 diventa False e il ciclo finisce. Se la condizione non potesse mai diventare falsa, il ciclo andrebbe avanti all'infinito.

I booleani come 1 e 0

A un booleano basta un solo bit di informazione: 1 per vero, 0 per falso. In pratica, i linguaggi memorizzano un booleano in almeno un byte intero, perché il byte è la più piccola unità di memoria che ha un proprio indirizzo. In C, un bool di <stdbool.h> occupa 1 byte con gcc e clang. I programmi che hanno bisogno di milioni di flag ne mettono 8 in ogni byte con gli operatori bit a bit.

I linguaggi non sono d'accordo sul fatto che un booleano sia anche un numero. In Python, bool è una sottoclasse di int, quindi True è uguale a 1 e False è uguale a 0. Questo rende facile contare:

True True
2
3 correct

Anche JavaScript dà 2 per true + true. C non ha avuto un tipo booleano fino a C99 e tratta ancora qualsiasi numero diverso da zero come vero. Java è rigido: if (1) non compila, perché una condizione Java deve essere un boolean.

Valori truthy e falsy

Python e JavaScript ti permettono di usare qualsiasi valore come condizione, non solo True e False. I valori che contano come falsi si chiamano falsy; tutti gli altri sono truthy.

0 -> False
42 -> True
'' -> False
'False' -> True
[] -> False
[0] -> True
None -> False

In Python, lo zero, le stringhe vuote, le collezioni vuote e None sono falsy. La stringa "False" è truthy, perché è una stringa con cinque caratteri. JavaScript ha i suoi valori falsy, tra cui false, 0, "", null, undefined e NaN, e lì un array vuoto [] è truthy. Vedi truthy e falsy in JavaScript per tutte le regole.

Errori comuni

Confrontare con True. if is_ready == True: funziona, ma if is_ready: dice la stessa cosa con meno da leggere. Per il caso falso, scrivi if not is_ready:.

Trattare il testo come un booleano. L'input di un utente, di un file o di un modulo arriva come stringa, quindi bool("false") è True. Confronta invece il testo: answer == "yes".

Maiuscole sbagliate. Python scrive True e False; JavaScript, Java e C scrivono true e false. Scrivere true in Python dà NameError: name 'true' is not defined.

Nomi vaghi. Dai a un booleano il nome di una domanda sì o no, come is_valid, has_access o can_edit, così una condizione si legge come una frase: if user.can_edit:.

Cosa leggere dopo

I booleani decidono quante volte gira un ciclo, quindi cos'è l'iterazione è la pagina naturale da leggere dopo, e cos'è un bit mostra lo 0 e l'1 sotto ogni vero e falso. Per i dettagli di Python, leggi numeri e booleani, poi esercitati con le condizioni nel corso Python.

Domande frequenti

Qual è un esempio di booleano?
Il confronto 5 > 3 è un'espressione booleana, e il suo valore è True. Una variabile come is_logged_in = False contiene un valore booleano. Nel catalogo di una biblioteca, la ricerca cats AND dogs è una query booleana che usa la stessa logica.
Un booleano vale 1 o 0?
Un booleano ha due valori, e molti linguaggi li rappresentano come 1 per vero e 0 per falso. In Python True == 1 è True, e in C qualsiasi numero diverso da zero conta come vero. Java li tiene separati: un boolean Java non può essere usato come numero in nessun caso.
Un booleano è solo sì o no?
Sì. Un booleano contiene esattamente uno di due valori, che puoi leggere come sì o no, acceso o spento, vero o falso. Quando qualcosa ha più di due stati, come un ordine in attesa, pagato o rimborsato, usa una stringa o un enum invece di più booleani.
Cos'è un booleano in Python?
Il tipo booleano di Python è bool, e i suoi due valori sono True e False, scritti con l'iniziale maiuscola. bool è una sottoclasse di int, quindi True si comporta come 1 nei calcoli. La funzione bool() converte qualsiasi valore in True o False secondo le regole di verità di Python.
Cos'è una ricerca booleana?
Una ricerca booleana combina parole chiave con gli operatori AND, OR e NOT per restringere o allargare i risultati. python AND tutorial richiede entrambe le parole, python OR java accetta l'una o l'altra, e python NOT snake esclude le pagine con la seconda parola. I cataloghi delle biblioteche e le banche dati di ricerca la supportano direttamente, e Google accetta OR e il segno meno per NOT.
Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA