sintaxis - palabras reservadas python significado
Operador Lógico de Python Y (6)
Como una nota al margen: (no tengo suficiente representante para un comentario) El operador AND no es necesario para imprimir múltiples variables. Simplemente puede separar los nombres de variables con comas como print five, two
lugar de print five AND two
. También puede usar escapes para agregar variables a una línea de impresión, como print "the var five is equal to: %s" %five
. Más sobre eso aquí: http://docs.python.org/2/library/re.html#simulating-scanf
Al igual que otros, han dicho que AND es un operador lógico y se utiliza para unir múltiples condiciones, como
if (five == 5) AND (two == 2):
print five, two
Estoy un poco confundido con los resultados que obtengo con los operadores lógicos en Python. Soy un principiante y estudio con el uso de algunos libros, pero no explican con tanto detalle como me gustaría.
aquí está mi propio código:
five = 5
two = 2
print five and two
>> 2
Parece que solo está emitiendo las dos variables.
five = 5
two = 2
zero = 0
print five and two and zero
Entonces, agregué otro entero variable. Luego imprimí y obtuve el siguiente resultado:
>> 0
¿Qué está pasando con Python en el fondo? ¿Por qué la salida no es algo así como 7 o 5, 2?
En Python, cualquier valor entero distinto de cero es verdadero; cero es falso.
Los valores de OP son ambos diferentes de cero.
El operador AND prueba de izquierda a derecha,
con y, si todos los valores son verdaderos, devuelve el último valor evaluado. Si algún valor es falso, devuelve el primero.
Como ambos no son cero, ambos son verdaderos, por lo que se devuelve el último valor
Este AND
en Python es un equivalente de &&
en Java, por ejemplo. Esto no significa el y en el idioma inglés. AND
es un operador lógico. Supongamos que cinco contienen 5 y 2 contienen 2. De la documentación de Python: La expresión xey primero evalúa x; si x es falso, se devuelve su valor; de lo contrario, y se evalúa y se devuelve el valor resultante. Básicamente, evalúa el último entero en su caso que es verdadero.
if (five and two):
... print "True"
... else:
... print "False"
AND es un operador lógico, para probar la lógica para un caso específico, no un operador aritmético. Si desea obtener resultados como 7 para cinco y dos, debería usar "+", lo que significa agregar dos enteros. Vea abajo:
>>> five = 5
>>> two = 2
>>> print five + two
7
Los operadores booleanos Y devolverán el primer valor 5
si la expresión evaluada es false
, y el segundo valor 2
si la expresión evaluada es true
. Como 5
y 2
son valores reales, no falsos y no nulos, la expresión se evalúa como verdadera.
Si desea imprimir ambas variables, puede concatenarlas en una Cadena e imprimir eso.
five = 5
two = 2
print five + " and " + two
O para imprimir su suma, podrías usar
print five + two
Este docs.python.org/2/library/… explica cómo usar los operadores booleanos lógicos.
Los operadores booleanos de Python devuelven el último valor evaluado, no verdadero / falso. Los docs tienen una buena explicación de esto:
La expresión
x and y
primero evalúax
; six
esfalse
, se devuelve su valor; de lo contrario,y
se evalúa y se devuelve el valor resultante.
Prueba 0
y 9
.
El resultado es 0
porque el valor de 0
es falso. El operando a la izquierda del operador and
es False, por lo que toda la expresión es False y devuelve 0