Forwarded from ChatGPT 4.5 | DeepSeek | Midjourney
دکوریتور lru_cache یکی از ابزارهای جالب و کاربردی در پایتون هست که به ما کمک میکنه تا عملکرد برنامههامون رو با ذخیرهسازی نتایج محاسبات قبلی بهبود ببخشیم. این دکوریتور به صورت خودکار نتایج تابع رو برای ورودیهای تکراری ذخیره میکنه و وقتی هم که همون ورودی دوباره فراخوانی بشه، به جای محاسبه دوباره، نتیجه رو از حافظه میگیره.
فرض کن که یه تابع داریم که فاکتوریل یک عدد رو محاسبه میکنه. اگر بخوایم این تابع رو با lru_cache دکوریتور کنیم، به این صورت میشه:
from functools import lru_cache
@lru_cache(maxsize=None) # maxsize میتونه محدودیت حافظه رو تعیین کنه def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1)
print(factorial(5)) # خروجی: 120 print(factorial(5)) # اینجا دیگه محاسبه نمیشه و سریعاً از کش برمیگرده
اینجا وقتی که factorial(5) رو برای بار اول صدا میزنیم، تمام مراحل محاسبه انجام میشه و نتیجه 120 برمیگرده. اما وقتی دوباره همین تابع رو با همون ورودی صدا بزنیم، دیگه نیازی به محاسبه نیست و نتیجه از کش برمیگرده که خیلی سریعتره!
پس با استفاده از lru_cache میتونیم سرعت برنامههامون رو بالا ببریم و کارایی رو بهبود بدیم.
دکوریتور lru_cache یکی از ابزارهای جالب و کاربردی در پایتون هست که به ما کمک میکنه تا عملکرد برنامههامون رو با ذخیرهسازی نتایج محاسبات قبلی بهبود ببخشیم. این دکوریتور به صورت خودکار نتایج تابع رو برای ورودیهای تکراری ذخیره میکنه و وقتی هم که همون ورودی دوباره فراخوانی بشه، به جای محاسبه دوباره، نتیجه رو از حافظه میگیره.
فرض کن که یه تابع داریم که فاکتوریل یک عدد رو محاسبه میکنه. اگر بخوایم این تابع رو با lru_cache دکوریتور کنیم، به این صورت میشه:
from functools import lru_cache
@lru_cache(maxsize=None) # maxsize میتونه محدودیت حافظه رو تعیین کنه def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1)
print(factorial(5)) # خروجی: 120 print(factorial(5)) # اینجا دیگه محاسبه نمیشه و سریعاً از کش برمیگرده
اینجا وقتی که factorial(5) رو برای بار اول صدا میزنیم، تمام مراحل محاسبه انجام میشه و نتیجه 120 برمیگرده. اما وقتی دوباره همین تابع رو با همون ورودی صدا بزنیم، دیگه نیازی به محاسبه نیست و نتیجه از کش برمیگرده که خیلی سریعتره!
پس با استفاده از lru_cache میتونیم سرعت برنامههامون رو بالا ببریم و کارایی رو بهبود بدیم.
BY جنگولرن
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
A leaked Telegram discussion by 50 so-called crypto influencers has exposed the extraordinary steps they take in order to profit on the back off unsuspecting defi investors. According to a leaked screenshot of the chat, an elaborate plan to defraud defi investors using the worthless “$Few” tokens had been hatched. $Few tokens would be airdropped to some of the influencers who in turn promoted these to unsuspecting followers on Twitter.
Among the actives, Ascendas REIT sank 0.64 percent, while CapitaLand Integrated Commercial Trust plummeted 1.42 percent, City Developments plunged 1.12 percent, Dairy Farm International tumbled 0.86 percent, DBS Group skidded 0.68 percent, Genting Singapore retreated 0.67 percent, Hongkong Land climbed 1.30 percent, Mapletree Commercial Trust lost 0.47 percent, Mapletree Logistics Trust tanked 0.95 percent, Oversea-Chinese Banking Corporation dropped 0.61 percent, SATS rose 0.24 percent, SembCorp Industries shed 0.54 percent, Singapore Airlines surrendered 0.79 percent, Singapore Exchange slid 0.30 percent, Singapore Press Holdings declined 1.03 percent, Singapore Technologies Engineering dipped 0.26 percent, SingTel advanced 0.81 percent, United Overseas Bank fell 0.39 percent, Wilmar International eased 0.24 percent, Yangzijiang Shipbuilding jumped 1.42 percent and Keppel Corp, Thai Beverage, CapitaLand and Comfort DelGro were unchanged.