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 санҷиши шахсияти объект (як объект), ва == санҷиши баробарии мундариҷа мебошад.