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)  # True, тъй като b сочи към същия обект
print(a == b)  # True, стойностите съвпадат

print(a is c)  # False, различни обекти
print(a == c)  # True, списъците имат еднакви стойности

Следователно, is е проверка за идентичност (един обект), а == е проверка за равенство по съдържание.