Is er een "not equal" operator in Python?

Hoe zou je zeggen niet gelijk?

Zoals

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

Is er iets equivalent aan == dat "niet gelijk" betekent?

Oplossing

Gebruik !=. Zie vergelijkingsoperatoren. Voor het vergelijken van object identiteiten, kun je het sleutelwoord is en zijn negatie is niet gebruiken.

bijv.

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

Niet gelijk aan != (vs gelijk aan ==)

Vraag je naar iets als dit?

answer = 'hi'

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

Deze Python - Basis Operators grafiek kan nuttig zijn.

Commentaren (0)

Er is de != (niet gelijk) operator die True teruggeeft als twee waarden verschillen, maar wees voorzichtig met de types want "1" != 1. Dit zal altijd Waar teruggeven en "1" == 1 zal altijd Val teruggeven, omdat de types verschillen. Python is dynamisch, maar sterk getypeerd, en andere statisch getypeerde talen zouden klagen over het vergelijken van verschillende types.

Er is ook nog de else clausule:

# 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"

De is operator is de objectidentiteit operator die gebruikt wordt om te controleren of twee objecten in feite hetzelfde zijn:

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.
Commentaren (0)