En este artículo, vamos a ver los operadores != (No iguales). En Python ! = se define como no igual al operador. Devuelve True si los operandos de cualquier lado no son iguales entre sí y devuelve False si son iguales. Mientras que el operador no comprueba si el id() de dos objetos es el mismo o no. Si es igual, devuelve Falso y si no es igual, devuelve Verdadero. El operador Y no es devuelve Verdadero si los operandos de cualquier lado no son iguales entre sí, y devuelve falso si son iguales.
Entendamos los conceptos uno por uno:
Ejemplo 1:
Python3
a = 10 b = 10 print(a is not b) print(id(a), id(b)) c = "Python" d = "Python" print(c is not d) print(id(c), id(d)) e = [1,2,3,4] f = [1,2,3,4] print(e is not f) print(id(e), id(f))
Producción:
False 140733278626480 140733278626480 False 2693154698864 2693154698864 True 2693232342792 2693232342600
Explicación:
- Primero, con datos enteros, la salida era falsa porque ambas variables a, b se refieren a los mismos datos 10.
- En segundo lugar, con datos de string, la salida fue falsa porque ambas variables c, d se refieren a los mismos datos «Python».
- En tercer lugar, con los datos de la lista, la salida fue verdadera porque las variables e, f tienen una dirección de memoria diferente (aunque ambas variables tienen los mismos datos)
Ejemplo 2:
!= se define como no igual al operador. Devuelve True si los operandos de cualquier lado no son iguales entre sí y devuelve False si son iguales.
Python3
# Python3 code to # illustrate the # difference between # != and is operator a = 10 b = 10 print(a != b) print(id(a), id(b)) c = "Python" d = "Python" print(c != d) print(id(c), id(d)) e = [ 1, 2, 3, 4] f=[ 1, 2, 3, 4] print(e != f) print(id(e), id(f))
Producción:
False 140733278626480 140733278626480 False 2693154698864 2693154698864 False 2693232369224 2693232341064
Ejemplo 3:
El operador != compara el valor o la igualdad de dos objetos, mientras que el operador Python is not comprueba si dos variables apuntan al mismo objeto en la memoria.
Python3
# Python3 code to # illustrate the # difference between # != and is not operator # [] is an empty list list1 = [] list2 = [] list3 = list1 #First if if (list1 != list2): print(" First if Condition True") else: print("First else Condition False") #Second if if (list1 is not list2): print("Second if Condition True") else: print("Second else Condition False") #Third if if (list1 is not list3): print("Third if Condition True") else: print("Third else Condition False") list3 = list3 + list2 #Fourth if if (list1 is not list3): print("Fourth if Condition True") else: print("Fourth else Condition False")
Producción:
First else Condition False Second if Condition True Third else Condition False Fourth if Condition True
Explicación:
- La salida del primero si la condición es «Falsa», ya que tanto list1 como list2 son listas vacías.
- En segundo lugar, si la condición muestra «Verdadero» porque dos listas vacías están en diferentes ubicaciones de memoria. Por lo tanto, list1 y list2 se refieren a diferentes objetos. Podemos verificarlo con la función id() en python que devuelve la «identidad» de un objeto.
- La salida del tercero si la condición es «Falsa», ya que tanto list1 como list3 apuntan al mismo objeto.
- La salida del cuarto si la condición es «Verdadera» porque la concatenación de dos listas siempre produce una nueva lista.
Publicación traducida automáticamente
Artículo escrito por vijayakumarchinthala y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA