Diferencia entre != y no es operador en Python

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:

  1. Primero, con datos enteros, la salida era falsa porque ambas variables a, b se refieren a los mismos datos 10.
  2. En segundo lugar, con datos de string, la salida fue falsa porque ambas variables c, d se refieren a los mismos datos «Python».
  3. 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:

  1. La salida del primero si la condición es «Falsa», ya que tanto list1 como list2 son listas vacías.
  2. 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.
  3. La salida del tercero si la condición es «Falsa», ya que tanto list1 como list3 apuntan al mismo objeto.
  4. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *