Operador de desigualdad en Python

El operador de desigualdad de Python retorna Truesi dos variables son del mismo tipo y tienen valores diferentes . Si los valores son iguales, retorna False. Python es un lenguaje dinámico y fuertemente tipado, por lo que si dos variables tienen los mismos valores pero son de diferente tipo, el operador de desigualdad retornará True.

Operadores no iguales en Python

Operador Descripción
!= El operador No es igual, funciona tanto en Python 2 como en Python 3.
Operador no igual en Python 2, obsoleto en Python 3.

Ejemplo de Python 2

Veamos algunos ejemplos del operador desigual en Python 2.7.

$ python2.7Python 2.7.10 (default, Aug 17 2018, 19:45:58) [GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.0.42)] on darwinType "help", "copyright", "credits" or "license" for more information. 10  20True 10  10False 10 != 20True 10 != 10False '10' != 10True 

Ejemplo de Python 3

Aquí hay algunos ejemplos con la consola Python 3.

$ python3.7Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) [Clang 6.0 (clang-600.0.57)] on darwinType "help", "copyright", "credits" or "license" for more information. 10  20  File "stdin", line 1    10  20        ^SyntaxError: invalid syntax 10 != 20True 10 != 10False '10' != 10True 

También podemos usar el operador desigual de Python con cadenas f si estás usando Python 3.6 o una versión superior.

x = 10y = 10z = 20print(f'x is not equal to y = {x!=y}')flag = x != zprint(f'x is not equal to z = {flag}')# python is strongly typed languages = '10'print(f'x is not equal to s = {x!=s}')

Producción:

x is not equal to y = Falsex is not equal to z = Truex is not equal to s = True

Python no es igual a un objeto personalizado

Cuando usamos el operador de desigualdad, se llama a __ne__(self, other)una función. De esta manera, podemos definir nuestra implementación personalizada para un objeto y modificar la salida natural. Digamos que tenemos Datauna clase con los campos id y record. Cuando usamos el operador de desigualdad, solo queremos compararla para obtener el valor del registro. Podemos lograr esto implementando nuestra propia función __ne__().

class Data:    id = 0    record = ''    def __init__(self, i, s):        self.id = i        self.record = s    def __ne__(self, other):        # return true if different types        if type(other) != type(self):            return True        if self.record != other.record:            return True        else:            return Falsed1 = Data(1, 'Java')d2 = Data(2, 'Java')d3 = Data(3, 'Python')print(d1 != d2)print(d2 != d3)

Producción:

FalseTrue

Tenga en cuenta que los valores de los registros d1 y d2 son los mismos, pero el “id” es diferente. Si eliminamos la función __ne__(), el resultado será el siguiente:

TrueTrue

Puede consultar el script de Python completo y más ejemplos de Python en nuestro repositorio de GitHub .

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

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

Scroll al inicio