تفاوت بین is و == در پایتون

August 2019

برای مقایسه آبجکت ها در پایتون میتوان از دو عملگر == و is استفاده کرد. این دو عملگر در ظاهر به یک کار میکنن اما در باطن تفاوت بزرگی دارند

به مثال زیر دقت کنید:

x = [1, 2, 3]
y = [1, 2, 3]

print( id(x) )     # 139980934640176
print( id(y) )     # 139980934642736

ما دو تا لیست داریم که هر دو مقدارها یکسانی دارند. اما از اونجایی که دوتا آبجکت مختلف هستند id های متفاوتی دارند. حالا با استفاده از دوتا عملگر بالا اینها رو با هم مقایسه میکنیم.

print(x is y)     # False
print(x == y)    # True

دیدید که is به ما False برگردوند ولی == به ما True برگردوند. دلیلش هم اینه که is میاد بر اساس id آبجکت ها و == براساس محتویاتشون اونها رو مقایسه میکنه.

برای اطلاعات بیشتر ویدیو رو تماشا کنید

ارسال نظر

اگر قراره سوالی بپرسید که داخلش کد هست، بهتره از کدتون عکس بگیرید و به ایمیلی که پایین نوشتم بفرستید