Operadores
Clase 5 de 56 • 21 Días de Python
Contenido del curso
Clase 5 de 56 • 21 Días de Python
Contenido del curso
Los operadores son elementos de lenguaje que nos permiten realizar cálculos y comparaciones en Python. Aquí hay una lista de los operadores más comunes:
Operadores aritméticos
Los operadores aritméticos nos permiten realizar operaciones matemáticas básicas, como la suma, la resta, la multiplicación y la división.
# Suma print(1 + 2) # 3 # Resta print(5 - 2) # 3 # Multiplicación print(3 * 4) # 12 # División print(10 / 2) # 5.0 # División entera print(10 // 3) # 3 # Módulo (devuelve el resto de una división) print(10 % 3) # 1 # Potencia print(2 ** 3) # 8
Operadores de asignación
Los operadores de asignación nos permiten asignar valores a variables.
x = 10 x += 5 # x = x + 5 print(x) # 15 x -= 3 # x = x - 3 print(x) # 12 x *= 2 # x = x * 2 print(x) # 24 x /= 4 # x = x / 4 print(x) # 6.0 x //= 3 # x = x // 3 print(x) # 2.0 x %= 2 # x = x % 2 print(x) # 0.0 x **= 3 # x = x ** 3 print(x) # 0.0
Operadores de comparación
Los operadores de comparación nos permiten comparar valores y nos devuelven True o False según el resultado de la comparación.
print(1 < 2) # True print(2 > 1) # True print(1 <= 2) # True print(2 >= 1) # True print(1 != 2) # True
Entre estos existen 2 operadores de igualdad, los cuales son == y is.
print(1 == "1") # False print(1 is "1") # False
En el primer caso, 1 == "1" devuelve True ya que solo se está comparando el valor y no el tipo de dato. Sin embargo, en el segundo caso, 1 is "1" devuelve False ya que está comparando tanto el valor como el tipo de dato y, aunque ambos son iguales, uno es de tipo número y el otro de tipo string.
Operadores lógicos en Python
También tenemos disponibles los operadores lógicos para realizar operaciones de comparación y evaluación.
True, de lo contrario, devuelve False. Por ejemplo:edad = 25 mayor_de_edad = edad >= 18 if edad >= 18 and mayor_de_edad: print("Eres mayor de edad") else: print("Aún eres menor de edad")
True, de lo contrario, devuelve False. Por ejemplo:edad = 25 tiene_identificacion = True if edad >= 18 or tiene_identificacion: print("Puedes entrar al bar") else: print("No tienes la edad o la identificación suficiente para entrar al bar")
False, de lo contrario, devuelve True. Por ejemplo:es_fin_de_semana = True if not es_fin_de_semana: print("A trabajar") else: print("A disfrutar del fin de semana")
Todo esto y más lo puedes aprender en el Curso de Fundamentos de Python
Robert Yesid Barrios Acendra
Eduardo Peña Ramos
Oscar Dario Florez Diaz
Jesús Enrique Morocoima Marcano
Julio Cardenas
Gerardo Camarillo
Francisco Jesús Eslava Fernández
Jonatan Martin
Jeniffer Arboleda Taborda
David Jimenez
Ana Muñoz Maquera
Carina Payleman
iecgerman .
Owen Enríquez
Nicolas Alpargatero
Diego Martínez Maqueda
Luis Tapia
Mayra Herrera Pacheco
Sara María Mejia Sánchez
Sara María Mejia Sánchez
Andres Vargas
Jose Bismer Carvajal Alzate
Owen Enríquez
Facundo Rios
Danelia Sanchez Sanchez
Danelia Sanchez Sanchez
Nicolas Alpargatero
Jhon Freddy Tavera Blandon
Aclaremos, Python NO es JavaScript que va a botar True ante una comparación: 1 == "1", bota False.
Correcto.
Se deberian revisar los ejemplos:
El aviso de sintaxis (SyntaxWarning) que estás viendo se debe a que está utilizando el operador "is" para comparar un entero con una cadena de texto, lo cual no es una práctica común.
Totalmente de acuerdo me dio esta respuesta:
False False <>:2: SyntaxWarning: "is" with a literal. Did you mean "=="? <>:2: SyntaxWarning: "is" with a literal. Did you mean "=="? /tmp/ipykernel_21221/3811860852.py:2: SyntaxWarning: "is" with a literal. Did you mean "=="? print(1 is "1") # False
La parte del is la comprobé en python, y creo que este ejemplo lo explica mejor: x = 1 y = float(1) print(x is y) # False print(x == y) # True
El primero regresa False, por que a pesar de ser el mismo número, ocupa espacios distintos en la memoria. El segundo regresa True por que solo compara los valores.
Si estoy mal agradecería que me lo dijeran, pero a lo que entendí, así funciona.
Es correcto
En la parte de los ejemplos de están bien escritos y se entienden
print(1 == "1") # False print(1 is "1") # False
luego en el texto menciona que el primero da True cuando realmente no lo es, esto está mal explicado.
si, que confuso.
¿Realmente es Falso? (1 == "1")
El ejemplo de operadores deberia se de la siguente forma
¿¿Estos resultados son correctos???
Hola, German. Así es, los resultados son los correctos, te explico el porqué: . x = 10 || x = 10 x += 5 || x = (10) + 5 (x = 15) x -= 3 || x = (15) - 3 (x = 12) x *= 2 || x = (12) * 2 (x = 24) x /= 4 || x = (24) / 4 (x = 6.0) x // =3 || x = (6) /3 (x = 2.0) x %= 2 || x = (2) % 2 (x = 0.0) x **= 3 || x = (0)^3 (x = 0) . Recuerda que el valor de las variables ('x' en este caso) puede ser manipulada en cualquier parte del programa. Espero haberme dado a entender. Saludos ✌️
La X empieza en 10 y en Python al ejecutar seguido él va actualizando el valor con el anterior, en el primer ejemplo es X=10 en el segundo ya seria X=15 por eso al restarle 3 queda en 12, el cual seria el nuevo valor de X.
Existe un error en el ejemplo, ya que la instrucción:
print(1 == "1")
devuelve False y no True, como dice la descripción. Creo el ejemplo quiso hacer referencia a:
print(1 == 1.0) print(1 is 1.0)
En donde, al tratarse de valores numéricos, pero uno de tipo entero y otro de tipo flotante, la primera instrucción devuelve True y la segunda False. Recomiendo revisar más minuciosamente el contenido que publican.
Hay que destacar que mientras 1 == "1" da False, 1 == 1.0 da True. Con tal que represente el mismo número aunque sea flotante y no entero lo acepta como cierto. Pero usando is sí tiene que ser exactamente del mismo tipo. 1 is 1.0 da False.
Para entender mejor el operador de igualdad '==' y 'is'
Cuando leí este fragmento de la teoría me pareció interesante por el operador is
Entre estos existen 2 operadores de igualdad los cuales son == y is. El primero realiza una comparación de valor y el segundo, además de comparar el valor, también verifica si ambos objetos son el mismo objeto en memoria.
print(1 == "1") # True print(1 is "1") # False
En el primer caso, 1 == "1" devuelve True ya que solo se está comparando el valor y no el tipo de dato. Sin embargo, en el segundo caso, 1 is "1" devuelve False ya que está comparando tanto el valor como el tipo de dato y, aunque ambos son iguales, uno es de tipo número y el otro de tipo string.
Sin embargo aunque el is es correcto, la afirmación del == no lo es. Fui a Replit para confirmar mi teoría y efectivamente es necesaria una corrección.
A continuación los resultados:
El aviso de sintaxis (SyntaxWarning) que estás viendo se debe a que está utilizando el operador “is” para comparar un entero con una cadena de texto.
En este ejemplo ¿hay un error?
print(1 == "1") # False
Ya que según la definición "1 == "1" devuelve True ya que solo se está comparando el valor y no el tipo de dato."
El ejemplo del operador lógico se me hace redundante, porque la variable 'mayor_de_edad' es la misma que la condición del if, por lo que si uno es verdadero, el otro por defecto también, ya que son lo mismo, quedando como:
if edad >= 18 and edad >= 18
Siento que pudo haber sido ejemplificado de mejor manera como los ejemplos siguientes del 'or' y 'not'.
Quede igual,re xd
Difference between == and is operator in Python
Como aportación, los operadores incremento ++ y decremento -- no existen en Python como en Javascript o C++.
Bueno se que es por el ejemplo pero para los operadores logicos basta con
if mayor_de_edad: ...
porque ya se le había asignado el edad >= 18
Supongamos que queremos escribir un programa que verifique si un número está dentro de un rango específico. Si el número está dentro del rango, muestra un mensaje de éxito, de lo contrario, muestra un mensaje de error. Utilizaremos los operadores lógicos andy >=(mayor o igual que) para lograr esto:
numero = 15 rango_inferior = 10 rango_superior = 20 if numero >= rango_inferior and numero <= rango_superior: print("El número está dentro del rango.") else: print("El número está fuera del rango.")