Existe-t-il un opérateur "not equal&quot ; en Python ?

Comment diriez-vous qu'il n'est pas égal ?

Comme

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

Existe-t-il un équivalent de == qui signifie "non égal" ?

Solution

Utilisez !=. Voir [opérateurs de comparaison][1]. Pour comparer les identités des objets, vous pouvez utiliser le mot-clé s et sa négation s not.

Par exemple

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

[1] : http://docs.python.org/release/2.5.2/lib/comparisons.html

Commentaires (5)

Non égal != (vs égal ==)

Vous demandez quelque chose comme ça ?

answer = 'hi'

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

Ce tableau Python - Opérateurs de base pourrait vous être utile.

Commentaires (0)

Il y a l'opérateur != (non égal) qui retourne Vrai lorsque deux valeurs diffèrent, mais faites attention aux types car "1&quot ; != 1. Ceci retournera toujours True et "1&quot ; == 1 retournera toujours False, puisque les types sont différents. Python est dynamiquement, mais fortement typé, et d'autres langages statiquement typés se plaindraient de la comparaison de types différents.

Il y a aussi la clause else :

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

L'opérateur is est l'opérateur d'identité d'objet utilisé pour vérifier si deux objets sont en fait les mêmes :

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