Módulo 4 - Variáveis e tipos de dados
Verdadeiro ou falso com bool: o tipo das decisões
9 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 01/07/2026
O que você vai aprender
- Escrever True e False corretamente, com a inicial maiúscula.
- Gerar booleanos com os operadores de comparação, como > e ==.
- Ler uma comparação como uma pergunta cuja resposta é True ou False.
- Antecipar o papel do bool nas decisões com if, que chegam no módulo 7.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Verdadeiro ou falso com bool: o tipo das decisões.
Os objetivos desta aula. Escrever True e False corretamente, com a inicial maiúscula. Gerar booleanos com os operadores de comparação, como > e ==. Ler uma comparação como uma pergunta cuja resposta é True ou False. Antecipar o papel do bool nas decisões com if, que chegam no módulo 7.
Veja o essencial, parte por parte.
Um tipo com dois valores, e mais nenhum. bool é o tipo lógico do Python: os únicos valores são True e False.
De onde os booleanos nascem: comparações. Digitar True e False à mão, como nos exemplos acima, é o uso menos comum do tipo.
Para que servem: a resposta que decide. Se booleanos são respostas, quem faz as perguntas?
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Um tipo com dois valores, e mais nenhum
Strings guardam textos infinitos, ints e floats guardam números sem fim. O quarto tipo do módulo vai na direção oposta: o bool tem exatamente dois valores possíveis, True e False, verdadeiro e falso. Parece pouco, e é justamente dessa economia que vem o poder. Toda decisão que um programa toma, mostrar ou esconder, aprovar ou reprovar, continuar ou parar, se resume no fim das contas a uma pergunta com resposta booleana.
tem_desconto = True
cadastro_completo = False
print(tem_desconto)
print(cadastro_completo)
# Saída:
# True
# FalseDois booleanos guardados em variáveis. Sem aspas: True é um valor da linguagem, não um texto.
Três detalhes de escrita evitam os tropeços clássicos. Primeiro, a inicial é maiúscula: True e False, exatamente assim. Escrever true minúsculo, como em outras linguagens, faz o Python procurar uma variável chamada true e reclamar com NameError. Segundo, sem aspas: "True" entre aspas é uma string comum de quatro letras, não um booleano, e essa confusão gera bugs difíceis de enxergar. Terceiro, o nome do tipo homenageia George Boole, o matemático inglês do século dezenove que formalizou a lógica de verdadeiro e falso muito antes de existir computador.
De onde os booleanos nascem: comparações
Digitar True e False à mão, como nos exemplos acima, é o uso menos comum do tipo. Na vida real, booleanos nascem de comparações: você pergunta algo ao Python sobre dois valores, e ele responde True ou False. Os operadores de comparação são seis, e quatro deles vêm direto da aula de matemática: > maior, < menor, >= maior ou igual, <= menor ou igual. Os outros dois pedem atenção: == com dois iguais pergunta se os valores são iguais, e != pergunta se são diferentes.
idade = 20
print(idade >= 18)
print(idade > 65)
print(idade == 20)
print("Ana" == "ana")
# Saída:
# True
# False
# True
# FalseCada comparação devolve um bool. A última mostra que strings também se comparam, e maiúscula conta.
O dobro de igual existe por necessidade: o sinal único já estava ocupado com a atribuição, desde a primeira aula do módulo. idade = 18 guarda o 18 na variável; idade == 18 pergunta se o valor guardado é 18 e devolve o veredito. Trocar um pelo outro é o erro de digitação mais cometido da história da programação, sem exagero, e o Python ajuda: usar um = sozinho onde cabia uma pergunta costuma gerar SyntaxError, apontando a linha.
Repare que a comparação funciona com qualquer tipo que você conheceu no módulo: números com números, strings com strings. "Ana" == "ana" devolve False porque, para o Python, A maiúsculo e a minúsculo são caracteres diferentes, o mesmo comportamento que você viu nos nomes de variáveis. Comparar tipos misturados também é possível: 7 == "7" devolve False sem erro, porque um int nunca é igual a uma string, um gancho direto para a aula de type() que vem a seguir.
Para que servem: a resposta que decide
Se booleanos são respostas, quem faz as perguntas? Por enquanto, o print, só para você ver o resultado na tela. A partir do módulo 7, quem pergunta é o if, a estrutura de decisão: se a condição for True, o programa executa um caminho; se for False, executa outro. Todo controle de fluxo do Python, if, while, for com condição, gira em torno de expressões que devolvem bool. É por isso que este módulo apresenta o tipo antes: quando o if chegar, você já vai dominar a matéria-prima dele.
senha = "python123"
senha_valida = len(senha) >= 8
print(senha_valida)
# Saída:
# TrueUm gostinho do mundo real: len() mede a senha, a comparação responde se o tamanho mínimo foi atingido.
O exemplo acima junta três aulas do módulo numa linha: len() devolve um int, a comparação >= transforma o int numa resposta booleana, e a variável senha_valida guarda o veredito com um nome que se lê como frase. Nomear booleanos assim, com prefixos como tem_, e_valido ou esta_ativo, é um hábito de código limpo: quem lê if senha_valida entende a decisão sem olhar o resto. Guarde a receita; ela volta na prática do módulo e em todos os módulos seguintes.
Teste rápido
Qual a diferença entre idade = 18 e idade == 18?
Perguntas frequentes
- Por que True e False têm que começar com maiúscula?
- Porque é assim que os dois valores foram definidos na linguagem: True e False são palavras reservadas do Python com essa grafia exata. Escrever true ou FALSE faz o Python procurar uma variável com esse nome e falhar com NameError. É diferente de linguagens como JavaScript, onde o minúsculo é o certo.
- "True" com aspas é a mesma coisa que True?
- Não. Com aspas é uma string de quatro caracteres que por acaso soletra True; sem aspas é o valor booleano. São tipos diferentes, e True == "True" devolve False. Esse é um bug clássico de iniciante: o programa roda, mas as decisões saem erradas porque a variável guardava texto, não booleano.
- Para que serve o operador != ?
- Ele pergunta se dois valores são DIFERENTES: 5 != 3 devolve True, e 5 != 5 devolve False. É o oposto exato do ==. O ponto de exclamação vem da tradição das linguagens de programação, onde ! significa negação.
- Posso comparar textos com > e <, tipo "ana" < "bruno"?
- Pode: o Python compara strings pela ordem dos caracteres, parecida com a ordem alfabética, e "ana" < "bruno" devolve True. O cuidado é que maiúsculas vêm antes das minúsculas nessa ordem interna, então "Zebra" < "ana" também é True. Para o curso, use > e < entre strings só quando a ordem importar de verdade.
- O que acontece se eu comparar tipos diferentes, como 7 == "7"?
- Com o operador de igualdade, nada quebra: o Python responde False, porque um int nunca é igual a uma string. Já comparar tipos diferentes com > ou < gera TypeError, porque não existe ordem entre número e texto. A aula de type(), a seguir, mostra como converter antes de comparar.
- Vou usar bool antes do módulo 7?
- Sim, já na prática deste módulo, guardando o resultado de uma verificação numa variável de nome claro. E as comparações aparecem no módulo 6, dedicado aos operadores. O if do módulo 7 só cola tudo: ele lê o booleano e escolhe o caminho do programa.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.