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
Telegram is a free app and runs on donations. According to a blog on the telegram: We believe in fast and secure messaging that is also 100% free. Pavel Durov, who shares our vision, supplied Telegram with a generous donation, so we have quite enough money for the time being. If Telegram runs out, we will introduce non-essential paid options to support the infrastructure and finance developer salaries. But making profits will never be an end-goal for Telegram.
Should You Buy Bitcoin?
In general, many financial experts support their clients’ desire to buy cryptocurrency, but they don’t recommend it unless clients express interest. “The biggest concern for us is if someone wants to invest in crypto and the investment they choose doesn’t do well, and then all of a sudden they can’t send their kids to college,” says Ian Harvey, a certified financial planner (CFP) in New York City. “Then it wasn’t worth the risk.” The speculative nature of cryptocurrency leads some planners to recommend it for clients’ “side” investments. “Some call it a Vegas account,” says Scott Hammel, a CFP in Dallas. “Let’s keep this away from our real long-term perspective, make sure it doesn’t become too large a portion of your portfolio.” In a very real sense, Bitcoin is like a single stock, and advisors wouldn’t recommend putting a sizable part of your portfolio into any one company. At most, planners suggest putting no more than 1% to 10% into Bitcoin if you’re passionate about it. “If it was one stock, you would never allocate any significant portion of your portfolio to it,” Hammel says.