Sobes.tech
Middle

Фарқи байни is ва == дар Python чист?

sobes.tech AI

Ҷавоб аз AI

Дар Python, оператори is санҷиш мекунад, ки оё ду тағирёбанда ба як объект дар хотира ишора мекунанд (яъне, муайян кардани шахсияти объектҳо). Оператор == арзиши объектҳоро баробарӣ мекунад, яъне, методи __eq__-ро даъват мекунад ва мундариҷа ё логикаи баробариро муқоиса мекунад.

Масалан:

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a is b)  # Дуруст, зеро b ба ҳамон объект ишора мекунад
print(a == b)  # Дуруст, арзишҳо баробаранд

print(a is c)  # Нагузор, объектҳои гуногун
print(a == c)  # Дуруст, рӯйхатҳо арзишҳои баробар доранд

Аз ин рӯ, is санҷиши шахсияти объект (як объект), ва == санҷиши баробарии мундариҷа мебошад.