Ar "Python" yra operatorius "not equal"?

Kaip jūs sakote, kad nėra lygus?

Kaip

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

Ar yra koks nors == atitikmuo, reiškiantis "nelygu"?

Sprendimas

Naudokite !=. Žr. palyginimo operatoriai. Objektų tapatybėms lyginti galite naudoti raktinį žodį is ir jo neiginį is not.

Pvz.

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

Ne lygus != (vs lygus ==)

Ar klausiate apie kažką panašaus?

answer = 'hi'

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

Ši Python - Basic Operators lentelė gali būti naudinga.

Komentarai (0)

Yra operatorius != (nelygu), kuris grąžina True, kai dvi reikšmės skiriasi, tačiau būkite atsargūs su tipais, nes "1" != 1``. Šis operatorius visada grąžins True, o"1" == 1` visada grąžins False, nes skiriasi tipai. Python yra dinamiškai, bet stipriai tipizuotas, o kitos statiškai tipizuotos kalbos skųstųsi dėl skirtingų tipų palyginimo.

Taip pat yra else sąlyga:

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

Operatorius is yra *objekto tapatumo operatorius, naudojamas patikrinti, ar du objektai iš tikrųjų yra tie patys:

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