Pitón. ¿Se comprobarán DOS condiciones, si `ONE == True`?

Pregunta sobre el mecanismo de un control de condiciones. if ONE or TWO: ¿Se verificará la condición DOS, si ONE == True ? ¿Dónde puedo leer sobre esto?

En Python esto se llama cortocircuito . Las expresiones lógicas se evalúan de izquierda a derecha (teniendo en cuenta los paréntesis) y la ejecución se detiene tan pronto como queda claro cuál será la respuesta lógica.

Prueba este código en la consola interactiva:

 >>> def one(): ... print "one called" ... return True >>> def two(): ... print "two called" ... return True >>> one() or two() 

La respuesta será:

 one called True 

Lo mismo sucede con and (si el primer argumento es falso, el segundo argumento nunca se evalúa).

Esto se denomina cortocircuito , y Python lo admite. Puedes leer una explicación en los documentos .

Sí, Python cortocircuita la evaluación de expresiones booleanas.