TGViewer
Try Code Box Try Code Box @trycodebox · 343 subscribers
Post #80 271
✔️ افزایش سرعت برنامه با دکوریتور lru_cache در پایتون

یکی از ابزارهای جالب و کاربردی در پایتون، دکوریتور lru_cache هست که به ما کمک می‌کنه عملکرد برنامه‌هامون رو با ذخیره‌سازی نتایج محاسبات تکراری بهبود بدیم.

این دکوریتور به‌طور خودکار نتایج تابع رو برای ورودی‌های قبلی ذخیره می‌کنه و در دفعات بعدی، به‌جای محاسبه دوباره، نتیجه کش‌شده رو برمی‌گردونه.

فرض کن تابعی داریم که عدد nام دنباله فیبوناچی رو محاسبه می‌کنه:
from functools import lru_cache

@lru_cache(maxsize=None)
# می‌تونیم محدودیت کش رو با maxsize مشخص کنیم
def fibonacci(n):
    if n < 2:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)

print(fibonacci(30))  # محاسبه و کش شدن نتایج
print(fibonacci(30))  # این بار خیلی سریع از کش برمی‌گرده

دفعه اول که fibonacci(30) اجرا می‌شه، محاسبات به‌صورت کامل انجام می‌شن.

اما دفعه دوم، نتیجه بدون محاسبه، مستقیم از کش گرفته می‌شه. خیلی سریع‌تر!

@TryCodeBox
  • 👍 2
More from @trycodebox
  1. Dec 23, 2025مایکروسافت قصد دارد تا سال 2030 تمام کدهای نوشته‌شده با C و C++ را حذف کرده و آن‌ها را با…
  2. Dec 10, 2025برای کسانی که فعلاً فقط می‌خواهند دنیای کدنویسی با هوش مصنوعی را امتحان کنند، توصیه می‌کنم…
  3. Oct 10, 2025✔️ توی پایتون Wrapper چیه؟ گاهی وقتا نمی‌خوای کد یه تابع رو تغییر بدی، ولی می‌خوای قبل یا…
  4. Oct 2, 2025اگه میخوای پایتون رو برای کارهای علمی یاد بگیری،این ۸ تا ریپازیتوری گیت‌هاب خیلی به کارت م…
  5. Oct 2, 2025• من یک منبع بسیار عالی پیدا کردم که شامل تعداد زیادی ابزار برای متخصصان فناوری اطلاعات اس…
  6. Oct 1, 2025⭕️ دیگر کانال ها و شبکه های اجتماعی ما را دنبال کنید : 💠 کانال های تلگرام ما 🔶 آموزش تست…
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 →