Gibt es einen "nicht gleich" Operator in Python?

Wie würden Sie sagen, ist nicht gleich?

Wie

if hi == hi:
    print "hi"
elif hi (does not equal) bye:
    print "no hi"

Gibt es etwas Äquivalentes zu ==, das "nicht gleich" bedeutet?

Lösung

Verwenden Sie !=. Siehe Vergleichsoperatoren. Für den Vergleich von Objektidentitäten können Sie das Schlüsselwort is und seine Negation is not verwenden.

z.B..

1 == 1 #  -> True
1 != 1 #  -> False
[] is [] #-> False (distinct objects)
a = b = []; a is b # -> True (same object)
Kommentare (5)

Nicht gleich != (vs. gleich ==)

Fragen Sie nach etwas wie diesem?

answer = 'hi'

if answer == 'hi':     # equal
   print "hi"
elif answer != 'hi':   # not equal
   print "no hi"

Diese Python - Basic Operators Tabelle könnte hilfreich sein.

Kommentare (0)

Es gibt den Operator != (nicht gleich), der Wahr zurückgibt, wenn sich zwei Werte unterscheiden, aber seien Sie vorsichtig mit den Typen, denn "1" != 1. Dies wird immer True zurückgeben und "1" == 1 wird immer False zurückgeben, da die Typen unterschiedlich sind. Python ist dynamisch, aber stark typisiert, und andere statisch typisierte Sprachen würden sich über den Vergleich unterschiedlicher Typen beschweren.

Außerdem gibt es die else-Klausel:

# This will always print either "hi" or "no hi" unless something unforeseen happens.
if hi == "hi":     # The variable hi is being compared to the string "hi", strings are immutable in Python, so you could use the 'is' operator.
    print "hi"     # If indeed it is the string "hi" then print "hi"
else:              # hi and "hi" are not the same
    print "no hi"

Der "ist"-Operator ist der Objektidentitäts-Operator, der verwendet wird, um zu prüfen, ob zwei Objekte tatsächlich gleich sind:

a = [1, 2]
b = [1, 2]
print a == b # This will print True since they have the same values
print a is b # This will print False since they are different objects.
Kommentare (0)