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"?
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)
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.
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.