Apesar de None ser considerado um valor falso (em um if, por exemplo), None não é igual a False.
Apesar de None ser considerado um valor falso (em um if, por exemplo), None não é igual a False.
Olá Isabela, tudo bem com você?
Essa diferença existe devido os dois serem de tipos diferentes, o None
é do tipo NoneType já o False é do tipo bool. Como mostrado abaixo.
print(type(None))
print(type(False))
print(None == False)
Resultado
<class 'NoneType'>
<class 'bool'>
False
Podemos converter o None
para o tipo bool
, obtendo o seguinte resultado.
print(bool(None))
Resultado
False
O None funciona como o False na cláusula if
devido ao valor de None ser False, os dois possuem o mesmo valor mas não o mesmo tipo, por isso quando comparamos os dois recebemos como resposta que não são iguais, como apresentado acima.
Foco à disposição em caso de dúvidas.
Abraços e bons estudos.