¿Python realmente contiene un valor booleano? Sé que puedes hacer:
checker = 1
if checker:
#dostuff
Pero soy bastante pedante y disfruto viendo booleanos en Java. Por ejemplo:
Boolean checker;
if (someDecision)
{
checker = true;
}
if(checker)
{
//some stuff
}
¿Existe algo así como un booleano en Python? Parece que no puedo encontrar nada parecido en la documentación.
some_var = int("1234")
... esa línea establece explícitamentesome_var
=>int
Respuestas:
[Editar]
Para obtener más información: http://docs.python.org/library/functions.html#bool
Su código también funciona, ya que
1
se convierte aTrue
cuando es necesario. En realidad, Python no tuvo un tipo booleano durante mucho tiempo (como en la antigua C), y algunos programadores todavía usan números enteros en lugar de booleanos.fuente
True
yFalse
son referencias aint
objetos extendidos con invalidación__str__
y__repr__
.1 is not True
, pero1 == True
.int
tipo, como lo muestraisinstance(True, int)
.Los builtins booleanos están en mayúscula:
True
yFalse
.Tenga en cuenta también que puede hacer
checker = bool(some_decision)
una pequeña taquigrafía:bool
solo volveráTrue
oFalse
.Es bueno saber para referencia futura que las clases
__nonzero__
__len__
que definen o seránTrue
oFalse
dependerán del resultado de esas funciones, pero prácticamente el resultado booleano de todos los demás objetos seráTrue
(excepto elNone
objeto, las secuencias vacías y los ceros numéricos).fuente
True
... yFalse
obviamente.De lo contrario, se
None
evalúa como Falso, al igual que el entero0
y también el flotante0.0
(aunque yo no usaría flotantes como ese). Además, listas vacías[]
, grupos irregulares()
vacíos y cadenas vacías''
o""
evaluar como Falso.Pruébelo usted mismo con la función
bool()
:etc ..
fuente
Los tipos booleanos se definen en la documentación:
http://docs.python.org/library/stdtypes.html#boolean-values
Citado del doc:
Entonces, en el código java, elimine las llaves, cambie
true
aTrue
y estará bien :)fuente
Sí, hay un
bool
tipo de datos (que heredaint
y tiene solo dos valores:True
yFalse
).Pero también Python tiene el
boolean-able
concepto para cada objeto, que se usa cuandobool([x])
se llama a la función .Ver más: objeto. distinto de cero y valor-booleano-de-objetos-en-python .
fuente
A diferencia de Java, donde declararías
boolean flag = True
, en Python puedes simplemente declararmyFlag = True
Python interpretaría esto como una variable booleana
fuente