Website-Suche

Python Ungleich Operator


Der Ungleichheitsoperator in Python gibt True zurück, wenn zwei Variablen vom gleichen Typ sind und unterschiedliche Werte haben. Wenn die Werte gleich sind, gibt er False zurück. Python ist eine dynamische und stark typisierte Sprache, daher gibt der Ungleichheitsoperator True zurück, wenn die beiden Variablen die gleichen Werte haben, aber von unterschiedlichem Typ sind.

Python Ungleichheitsoperatoren

BetriebsführerBeschreibung
!=Der Ungleich-Operator funktioniert sowohl in Python 2 als auch in Python 3.
<>Der Ungleichoperator in Python 2, in Python 3 veraltet.

Python 2 Beispiel

Lass uns einige Beispiele für den Ungleich-Operator in Python 2.7 ansehen.

python2.7
Python 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 darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 10 <> 20
True
>>> 10 <> 10
False
>>> 10 != 20
True
>>> 10 != 10
False
>>> '10' != 10
True
>>> 

Python 3 Beispiel

Hier sind einige Beispiele mit der Python 3-Konsole.

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

Wir können den Ungleichheitsoperator in Python auch mit f-Strings verwenden, wenn Sie Python 3.6 oder eine höhere Version nutzen.

x = 10
y = 10
z = 20

print(f'x is not equal to y = {x!=y}')

flag = x != z
print(f'x is not equal to z = {flag}')

python is strongly typed language
s = '10'
print(f'x is not equal to s = {x!=s}')

Ausgabe :

x is not equal to y = False
x is not equal to z = True
x is not equal to s = True

Python ist nicht gleich mit einem benutzerdefinierten Objekt

Wenn wir den Ungleichheitsoperator verwenden, ruft er die Funktion __ne__(self, other) auf. Somit können wir unsere benutzerdefinierte Implementierung für ein Objekt definieren und die natürliche Ausgabe ändern. Angenommen, wir haben eine Data-Klasse mit den Feldern - id und record. Wenn wir den Ungleichheitsoperator verwenden, möchten wir ihn nur für den Wert von record vergleichen. Dies können wir erreichen, indem wir unsere eigene __ne__() Funktion implementieren.

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 False


d1 = Data(1, 'Java')
d2 = Data(2, 'Java')
d3 = Data(3, 'Python')

print(d1 != d2)
print(d2 != d3)

Ausgabe :

False
True

Beachten Sie, dass die Werte von d1 und d2 identisch sind, aber die „id“ unterschiedlich ist. Wenn wir die __ne__() Funktion entfernen, wird die Ausgabe wie folgt aussehen:

True
True

Sie können das vollständige Python-Skript und weitere Python-Beispiele aus unserem GitHub-Repository abrufen.