Python realmente contém um valor booleano? Eu sei que você pode fazer:
checker = 1
if checker:
#dostuff
Mas sou bastante pedante e gosto de ver booleanos em Java. Por exemplo:
Boolean checker;
if (someDecision)
{
checker = true;
}
if(checker)
{
//some stuff
}
Existe um booleano em Python? Não consigo encontrar nada parecido na documentação.
some_var = int("1234")
... essa linha define explicitamentesome_var
=>int
Respostas:
[Editar]
Para obter mais informações: http://docs.python.org/library/functions.html#bool
Seu código também funciona, pois
1
é convertido paraTrue
quando necessário. Na verdade, Python não teve um tipo booleano por muito tempo (como no antigo C), e alguns programadores ainda usam inteiros em vez de booleanos.fonte
True
eFalse
são referências aint
objetos estendidos com__str__
e sobrescritos__repr__
.1 is not True
, mas1 == True
.int
tipo, conforme mostrado porisinstance(True, int)
.Os booleanos embutidos são capitalizados:
True
eFalse
.Observe também que você pode fazer
checker = bool(some_decision)
uma pequena abreviação -bool
só retornaráTrue
ouFalse
.É bom saber para referência futura que as classes
__nonzero__
__len__
que definem ou serãoTrue
ouFalse
dependendo do resultado dessas funções, mas virtualmente todos os outros resultados booleanos do objeto serãoTrue
(exceto para oNone
objeto, sequências vazias e zeros numéricos).fonte
True
... eFalse
obviamente.Caso contrário, é
None
avaliado como False, assim como o inteiro0
e também o float0.0
(embora eu não usasse floats assim). Além disso, listas vazias[]
, tuplets()
vazios e strings vazias''
ou""
avaliadas como False.Experimente você mesmo com a função
bool()
:etc ..
fonte
Os tipos booleanos são definidos na documentação:
http://docs.python.org/library/stdtypes.html#boolean-values
Citado do doc:
Portanto, no código java, remova os colchetes, mude
true
paraTrue
e você ficará bem :)fonte
Sim, existe um
bool
tipo de dados (que herdaint
e possui apenas dois valores:True
eFalse
).Mas também Python tem o
boolean-able
conceito para cada objeto, que é usado quando a funçãobool([x])
é chamada.Veja mais: objeto. diferente de zero e valor booleano dos objetos em python .
fonte
Ao contrário de Java, onde você declararia
boolean flag = True
, em Python você pode simplesmente declararmyFlag = True
Python interpretaria isso como uma variável booleana
fonte