Il existe "==" et "est" comme méthode pour comparer des objets, mais je ne savais pas comment les utiliser correctement, j'ai donc résumé les différences.
Comparez si l'objet 1 et l'objet 2 sont équivalents. L'équivalence signifie "a-t-elle la même valeur?"
test01.py
object1=100
object2=100
if object1 == object2 :
print("Équivalent")
else :
print("Pas équivalent")
#Sortie: équivalent
Dans test01.py, object1 et object2 ont la même valeur (type int 100), donc l'instruction if est évaluée comme True.
test02.py
object1=100 #int type 100
object2="100" #str type 100
if object1 == object2 :
print("Équivalent")
else :
print("Pas équivalent")
#Sortie: pas équivalent
Dans test02.py, "int type 100" et "str type 100" sont comparés, ainsi l'instruction if est évaluée comme False.
"Is" vérifie si les objets comparés sont "le même objet".
test3.py
object1=[1,2,3]
object2=[1,2,3]
print(object1 is object2)
print(object1 is object1)
#production
#False
#True
Lorsqu'un objet est créé, un numéro d'identification (numéro unique) est attribué à cet objet. "Is" compare cet identifiant pour voir s'il s'agit du même objet. Le numéro d'identification peut être trouvé avec la méthode id.
test04.py
object1=[1,2,3]
object2=[1,2,3]
print(id(object1)) #id()Recherchez le numéro d'identification de cet objet avec
print(id(object2))
print(object1 is object2)
print(object1 is object1)
#production
#4488767496 (numéro d'identification de l'objet1)
#4488768392 (numéro d'identification de l'objet2)
#False
#True
"==" Vérifie si les objets comparés sont équivalents. "Is" vérifie si les identifiants des objets comparés sont équivalents.
Recommended Posts