TGViewer
PyCoders (پایتون) PyCoders (پایتون) @python_rd · 4.1K subscribers
Post #2126 693
🔆 اعدادی که تو پایتون هیچ‌وقت پاک نمی‌شن!


🔹 می‌دونستی پایتون یه کلوپ اختصاصی برای اعدادی داره که هیچ‌وقت از حافظه 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
  • ❤ 4
More from @python_rd
  1. Oct 15, 2026🌐 خروجی این کد پایتون چیست؟ x = [1, 2, 3] y = x x += [4, 5] print(x) print(y) 🔹 گزینه‌ها…
  2. Oct 15, 2026🔆 آیا enumerate() بهتر از index-based loop است؟ 🔹 خیلی‌ها هنوز این شکلی می‌نویسند: items…
  3. Oct 15, 2026🔆 یک تله عجیب در پایتون: bool در واقع زیرکلاس int است 🔹 خیلی‌ها می‌دانند True == 1 و Fal…
  4. Oct 13, 2026کوییز پایتون 🔆 خروجی اجرای کد زیر چیست؟ t = (1, 2, [3, 4]) try: t[2] += [5] except TypeEr…
  5. Oct 13, 2026🔆 راز مکانیزم پیاده‌سازی و تغییر جهت NaN در الگوریتم مرتب‌سازی پایتون (Timsort) 🔹 باگ ری…
  6. Oct 13, 2026🔆 حذف تاریخی GIL از پایتون (Free-threaded Python) 🔹 یک رویداد تاریخی: حذف قفل مفسر (GIL)…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →