Er der en "not equal" operator i Python?

Hvordan vil du sige, at det ikke er lig med hinanden?

Ligesom

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

Er der noget, der svarer til ==, som betyder "ikke lig"?

Løsning

Brug !=. Se sammenligningsoperatører. For at sammenligne objektidentiteter kan du bruge nøgleordet is og dets negation is not.

f.eks.

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

Ikke lig != (vs. lig ==)

Spørger du om noget som dette?

answer = 'hi'

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

Dette Python - Basic Operators skema kan måske være nyttigt.

Kommentarer (0)

Der er operatoren != (not equal), som returnerer True, når to værdier er forskellige, men vær forsigtig med typerne, for "1" != 1. Dette vil altid returnere True, og &"1" == 1 vil altid returnere False, da typerne er forskellige. Python er dynamisk, men stærkt typet, og andre statisk typede sprog ville klage over sammenligning af forskellige typer.

Der er også else-klausulen:

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

Operatoren is er operatoren objektidentitet, der bruges til at kontrollere, om to objekter faktisk er de samme:

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