Desenvolvimento

Por que True * 7 = 7 e False * 7 = 0 em Python? Desvendando essa Pegadinha!

Introdução: Uma surpresa no código

Ei, você já se deparou com algo em Python que fez você coçar a cabeça e pensar: “Mas como assim?!” 🤣 Pois é, recentemente me peguei numa dessas ao testar print(True * 7) e print(False * 7). Resultado? 7 e 0, respectivamente. Se isso soa como uma pegadinha do Python, vem comigo que eu te explico direitinho o que tá rolando – e garanto que é mais simples (e divertido) do que parece!

O segredo dos booleanos em Python

Aqui vai a primeira revelação: em Python, `True` e `False` não são apenas valores booleanos para dizer “sim” ou “não”. Eles são, na verdade, *inteiros disfarçados*!  Isso mesmo! No fundo, Python trata:

  • True como 1
  • False como 0

Quer uma prova? Tenta rodar isso no seu terminal:

print(int(True))  # Saída: 1
print(int(False)) # Saída: 0

Viu? Python tá te contando o segredo sem nem piscar!

O que Acontece com True * 7 e False * 7?
Agora que sabemos que True é 1 e False é 0, vamos destrinchar as multiplicações:

  • Quando você faz True * 7, o Python vê isso como 1 * 7. Resultado? 7.
  • Já com False * 7, ele interpreta como 0 * 7. Resultado? 0.

Simples, né? Mas confesso que, na primeira vez que vi isso, fiquei com cara de “Python, você tá de brincadeira comigo, né?” 

Por que Python Faz Isso?

Essa “mágica” acontece porque, em Python, os valores booleanos são uma subclasse da classe int. Isso é herança direta do design da linguagem, inspirado em linguagens como C, onde 1 é verdade e 0 é falso. Então, quando você joga um booleano numa operação aritmética, Python automaticamente o converte para seu valor inteiro correspondente. É como se o Python dissesse: “Relaxa, eu sei o que fazer com isso!” 

Testando pra Valer

Quer se divertir um pouco? Tenta essas variações no seu código:

print(True + True)   # Saída: 2 (porque 1 + 1 = 2)
print(False + True)  # Saída: 1 (porque 0 + 1 = 1)
print(True * False)  # Saída: 0 (porque 1 * 0 = 0)

É quase como brincar de matemática com superpoderes booleanos! 

Cuidado com as Pegadinhas

Embora isso seja legal, esse comportamento pode te pegar desprevenido em projetos maiores. Imagina somar um monte de valores booleanos sem querer e acabar com um número que não faz sentido no contexto! Minha dica? Sempre cheque se você realmente quer misturar booleanos com operações aritméticas. Se precisar garantir que está lidando só com True ou False, use condicionais ou métodos como isinstance() pra evitar surpresas.

Conclusão: Python, Você é Genial (e um Pouco Troll)

E se você curtiu esse papo descontraído, dá uma força pro blog: compartilha esse post, assina a newsletter pra mais dicas e vem desvendar outras curiosidades da programação comigo! 

Felix

Residindo atualmente na cidade de Cascavel, no oeste do Paraná. Já dei aulas de informática, trabalhei com Hardware, redes, fui analista de suporte, aprendi SEO e mídias sociais e também programação. Faço um pouco de tudo, mas não sou especialista em nada, por isso estou sempre estudando e tentando evoluir. Com isso vou compartilhando aqui um pouco do que vou aprendendo no dia a dia.

Verified by MonsterInsights