Telegram Group & Telegram Channel
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 می‌تونیم سرعت برنامه‌هامون رو بالا ببریم و کارایی رو بهبود بدیم.



tg-me.com/djangolearn_ir/1059
Create:
Last Update:

دکوریتور 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

Share with your friend now:
tg-me.com/djangolearn_ir/1059

View MORE
Open in Telegram


جنگولرن Telegram | DID YOU KNOW?

Date: |

The global forecast for the Asian markets is murky following recent volatility, with crude oil prices providing support in what has been an otherwise tough month. The European markets were down and the U.S. bourses were mixed and flat and the Asian markets figure to split the difference.The TSE finished modestly lower on Friday following losses from the financial shares and property stocks.For the day, the index sank 15.09 points or 0.49 percent to finish at 3,061.35 after trading between 3,057.84 and 3,089.78. Volume was 1.39 billion shares worth 1.30 billion Singapore dollars. There were 285 decliners and 184 gainers.

How to Buy Bitcoin?

Most people buy Bitcoin via exchanges, such as Coinbase. Exchanges allow you to buy, sell and hold cryptocurrency, and setting up an account is similar to opening a brokerage account—you’ll need to verify your identity and provide some kind of funding source, such as a bank account or debit card. Major exchanges include Coinbase, Kraken, and Gemini. You can also buy Bitcoin at a broker like Robinhood. Regardless of where you buy your Bitcoin, you’ll need a digital wallet in which to store it. This might be what’s called a hot wallet or a cold wallet. A hot wallet (also called an online wallet) is stored by an exchange or a provider in the cloud. Providers of online wallets include Exodus, Electrum and Mycelium. A cold wallet (or mobile wallet) is an offline device used to store Bitcoin and is not connected to the Internet. Some mobile wallet options include Trezor and Ledger.

جنگولرن from sg


Telegram جنگولرن
FROM USA