valores usar relacionales operadores operaciones not logicas funcion exclusivo ejemplos como booleanos bool binarios python boolean

usar - ¿Cómo uso un booleano en Python?



operadores relacionales en python (6)

¿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 }

¿Hay algo así como un booleano en Python? Parece que no puedo encontrar nada parecido en la documentación.


A diferencia de Java donde declararía boolean flag = True , en Python puede declarar myFlag = True

Python interpretaría esto como una variable booleana


Los builtins booleanos están en mayúscula: True y False .

Tenga en cuenta también que puede hacer checker = bool(some_decision) como un poco de taquigrafía - http://docs.python.org/library/functions.html#bool solo devolverá True o False .

Es bueno saber para referencia futura que las clases que definen __nonzero__ o __len__ serán True o False dependiendo del resultado de esas funciones, pero prácticamente el resultado booleano de cada otro objeto será True (excepto para el objeto None , las secuencias vacías y los ceros numéricos) .


Los tipos booleanos se definen en la documentación:
http://docs.python.org/library/stdtypes.html#boolean-values

Citado de doc:

Los valores booleanos son los dos objetos constantes False y True. Se utilizan para representar valores de verdad (aunque otros valores también pueden considerarse falsos o verdaderos). En contextos numéricos (por ejemplo, cuando se usa como argumento para un operador aritmético), se comportan como los enteros 0 y 1, respectivamente. La función incorporada bool () se puede utilizar para convertir cualquier valor a un booleano, si el valor se puede interpretar como un valor de verdad (ver la sección Prueba de valor de verdad más arriba).

Están escritos como Falso y Verdadero, respectivamente.

Entonces, en el código java, eliminar llaves, cambiar a True y estarás bien :)



True ... y False obviamente.

De lo contrario, None evalúa False, al igual que el entero 0 y también el flotante 0.0 (aunque yo no usaría flotadores como ese). Además, las listas vacías [] , las agrupaciones vacías () y las cadenas vacías '''' o '''' evalúan a False.

Pruébelo usted mismo con la función bool() :

bool([]) bool([''a value'']) bool('''') bool(''A string'') bool(True) # ;-) bool(False) bool(0) bool(None) bool(0.0) bool(1)

etc.


checker = None # not necessary if some_decision: checker = True if checker: # some stuff

[Editar]

Para más información: http://docs.python.org/library/functions.html#bool

Tu código también funciona, ya que 1 se convierte en True cuando es necesario. En realidad, Python no tenía un tipo booleano durante mucho tiempo (como en la antigua C), y algunos programadores utilizan enteros en lugar de booleanos.