Middle
Каква е разликата между is и == в Python?
sobes.tech AI
Отговор от AI
В Python операторът is проверява дали две променливи сочат към един и същи обект в паметта (т.е. сравнява идентичността на обектите). Операторът == проверява равенството на стойностите на обектите, като извиква метода __eq__ и сравнява съдържанието или логиката на равенство.
Пример:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # True, тъй като b сочи към същия обект
print(a == b) # True, стойностите съвпадат
print(a is c) # False, различни обекти
print(a == c) # True, списъците имат еднакви стойности
Следователно, is е проверка за идентичност (един обект), а == е проверка за равенство по съдържание.