Además de los números y los textos que vimos hasta ahora, Python introduce las constantes True
y False
para representar los valores de verdad verdadero y falso respectivamente.
Vimos que una expresión es un trozo de código Python que produce o calcula un valor (resultado). Una expresión booleana o expresión lógica es una expresión que vale o bien True
o bien False
.
4.1.1. Expresiones de comparación
En el ejemplo que queremos resolver, la condición que queremos ver si se cumple o no es que x sea mayor que cero. Python provee las llamadas *expresiones de comparación* que sirven para comparar valores entre sí, y que por lo tanto permiten codificar ese tipo de pregunta. En particular la pregunta de sixes mayor que cero, se codifica en Python como
x > 0`.
De esta forma, 5 > 3
es una expresión booleana cuyo valor es True
, y 5 < 3
también es una expresión booleana, pero su valor es False
.
>>> 5 > 3
True
>>> 3 > 5
False
>>>
Los expresiones booleanas de comparación que provee Python son las siguientes:
Expresión | Significado |
---|---|
a == b |
a es igual a b |
a != b |
a es distinto de b |
a < b |
a es menor que b |
a <= b |
a es menor o igual que b |
a > b |
a es mayor que b |
a >= b |
a es mayor o igual que b |
A continuación, algunos ejemplos de uso de estos operadores:
>>> 6==6
True
>>> 6!=6
False
>>> 6>6
False
>>> 6>=6
True
>>> 6>4
True
>>> 6<4
False
>>> 6<=4
False
>>> 4<6
True
>>>
4.1.2. Operadores lógicos
De la misma manera que se puede operar entre números mediante las operaciones de suma, resta, etc., también existen tres operadores lógicos para combinar expresiones booleanas: and
(y), or
(o) y not
(no).
El significado de estos operadores es igual al del castellano, pero vale la pena recordarlo:
Expresión | Significado |
---|---|
a and b |
El resultado es True solamente si a es True y b es True de lo contrario el resultado es False |
a or b |
El resultado es True si a es True o b es True de lo contrario el resultado es False |
not a |
El resultado es True si a es False de lo contrario el resultado es False |
a > b and a > c
es verdadero si a
es simultáneamente mayor que b
y que c
.
>>> 5>2 and 5>3
True
>>> 5>2 and 5>6
False
>>>
a > b or a > c
es verdadero si a
es mayor que b
o a
es mayor que c
.
>>> 5>2 or 5>3
True
>>> 5>2 or 5>6
True
>>> 5>8 or 5>6
False
>>>
not (a > b)
es verdadero si a > b
es falso (o sea si a <= b
es verdadero).
>>> 5>8
False
>>> not (5>8)
True
>>> 5>2
True
>>> not (5>2)
False
>>>