انتزاع پایتون

Sahil Bhatt

New Member
چرا موارد زیر در پایتون غیرمنتظره عمل می کنند؟

Python:
>>a = 256
>>> b = 256
>>> a is b
True           # This is an expected result
>>> a = 257
>>> b = 257
>>> a is b
False          # What happened here? Why is this False?
>>> 257 is 257
True           # Yet the literal numbers compare properly

پایتون همان چیزی است که من از آن استفاده می کنم. با آزمایش نسخه های مختلف پایتون، به نظر می رسد پایتون رفتار فوق را بین 99 تا 100 نشان می دهد.
بر اساس این مستندات، من معتقدم پایتون به شکل داخلی طراحی شده است که اعداد صحیح "کوچک" متفاوت از اعداد صحیح بزرگتر ذخیره می شوند و عملگر is می تواند تفاوت را تشخیص دهد. چرا انتزاع چکیدنی؟ چه راه بهتری برای مقایسه دو جسم تصادفی وجود دارد تا ببینم آیا آنها یکسان هستند در حالی که نمی دانم آنها عدد هستند یا نه؟
 

جدیدترین ارسال ها

بالا