Sobes.tech
Middle

Python-ში is და == შორის რა განსხვავებაა?

sobes.tech AI

პასუხი AI-სგან

პითონში, ოპერატორი 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 არის იდენტობის შემოწმება (ერთი ობიექტი), ხოლო == — შიგთავსის თანხვედრის შემოწმება.