عـــلـے | Ali.N
خب بریم سراغ جواب کوئیز!
علت سریعتر بودن پیمایش حلقه داخل تابع، به نحوهی دسترسی پایتون به متغیرها برمیگرده
داخل تابع:
متغیر _
و خود range
به صورت Local Variable ذخیره میشن
اما خارج از تابع:
اینها Global Variable هستن
در پایتون:
دسترسی به Local → سریعتر
دسترسی به Global → کندتر
به همین دلیل، وقتی حلقه داخل تابع اجرا میشه، پایتون برای پیدا کردن متغیرها زمان کمتری صرف میکنه.
کدی که بیرون تابع اجرا میشه:
داخل فضای Global Namespace قرار داره
پایتون باید مدیریت بیشتری روش انجام بده
(مانند جستجو در namespace، ردیابی و تعامل با ماژولها)
داخل تابع:
محیط اجرا بستهتر و سادهتره
دربارهی Call Stack:
ممکنه فکر کنیم چون تابع Call Stack داره باید کندتر باشه
اما:
هزینهی صدا زدن تابع فقط یک بار پرداخت میشه
در حالی که حلقه 1,000,000 بار اجرا میشه
پس این هزینه در مقایسه با تعداد تکرار حلقه عملاً قابل چشمپوشیه.
جمعبندی کوتاه 🧠:
حلقه داخل تابع سریعتر نیست چون «تابعه»
سریعتره چون از Local Variable استفاده میکنه
299 ·