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