🔹 میدونستی پایتون یه کلوپ اختصاصی برای اعدادی داره که هیچوقت از حافظه RAM پاک نمیشن؟
🔹تو پایتون، تکنیکی به نام Integer Caching یا Small Integer Optimization وجود داره.
🔹 یعنی چی؟
وقتی پایتون بالا میاد، اعدادی از -5 تا 256 رو مپ میکنه و به صورت ثابت تو RAM نگه میداره. هر وقت او کدتون از این اعداد استفاده کنید، پایتون متغیر جدیدی تو حافظه نمیسازه، بلکه اشارهگر رو روی همون اعدادی که از قبل تو RAM ساخته برمیگردونه!
🔹 این کد رو ببینید:
# اعدادی که در کلوپ اختصاصی هستن:
a = 100
b = 100
print(a is b) # Output: True (هر دو دقیقاً یک خونه حافظه هستن!)
# اعدادی که خارج از کلوپ هستن:
x = 300
y = 300
print(x is y) # Output: False (دو خانه حافظه کاملاً مجزا!)
🔹 چرا پایتون این کار رو میکنه؟
چون اعداد -5 تا 256 پرکاربردترین اعداد در محاسبات و حلقهها (مثل range) هستن. با این تریک کوچولو، پایتون از ساخت و نابودی مداوم این اعداد تو حافظه جلوگیری میکنه و سرعت برنامهها رو به شدت بالا میبره.
🔹 نکته: عملگر is آدرس حافظه دو متغیر رو مقایسه میکنه، نه مقدارشون رو!
🐍 @python_rd