Comparer des variables à None est une opération courante en Python. Cependant, vous avez peut-être remarqué une différence dans la syntaxe utilisée, ce qui amène à se demander s'il faut utiliser "is" ou ==.
En général, il est recommandé d'utiliser "is" lors de la comparaison de variables avec Aucune. . La raison en est que "is" vérifie l'identité de l'objet, tandis que == vérifie l'égalité des objets. En Python, il n'y a qu'un seul objet None, donc comparer n'importe quoi à None en utilisant "is" retournera toujours True s'il s'agit du même objet.
D'un autre côté, == vérifie l'égalité des objets. Cela signifie qu'il renverra True si les deux objets sont égaux, même s'il ne s'agit pas du même objet. Par exemple, considérons le code suivant :
class Negator(object): def __eq__(self, other): return not other thing = Negator() print(thing == None) # True print(thing is None) # False
Dans cet exemple, la classe Negator définit une méthode eq qui renvoie True lorsque les objets ne sont pas égaux. Lorsque vous comparez thing à None en utilisant ==, la méthode personnalisée eq est appelée, ce qui donne True. Cependant, en comparant using is, nous voyons qu'il ne s'agit pas du même objet, ce qui donne False.
Par conséquent, si vous vérifiez strictement si un objet est identique à None (c'est-à-dire si vous vérifiez la nullité), il est recommandé d'utiliser "est". Si, toutefois, vous vérifiez l'égalité (c'est-à-dire si deux objets ont la même valeur), vous devez utiliser ==.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!