y/o operadores valor de retorno [duplicado]
Estaba viendo un video de 2007 sobre Python avanzado o Comprensión de Python , y a las 18'27", el orador afirma: "Como algunos sabrán, en Python and
devuelve or
uno de los dos valores, mientras que not
siempre devuelve un valor booleano". ¿Cuándo ha sido este el caso? ?
Hasta donde yo sé, and
y or
también devuelve valores booleanos.
Aceptado
Los operadores and
y or
devuelven uno de sus operandos, no un valor booleano puro como True
o False
:
>>> 0 or 42
42
>>> 0 and 42
0
Mientras que not
siempre devuelve un valor booleano puro:
>>> not 0
True
>>> not 42
False
Consulte esta tabla de la referencia de la biblioteca estándar en los documentos de Python: