هدایت شده از یاسر محمودیان
مفهوم Function Caching.pdf
حجم:
246.6K
آموزش برنامه نویسی پایتون و AI
مفهوم Function Caching (ذخیرهسازی تابع)
Function Caching یا «ذخیرهسازی نتایج تابع» روشی است برای افزایش سرعت اجرای برنامهها.
ایدهی اصلی این است که وقتی تابعی را با ورودی خاصی اجرا میکنیم، نتیجهی آن را در حافظه ذخیره کنیم.
اگر دوباره همان تابع با همان ورودی فراخوانی شود، به جای اجرای دوبارهی محاسبات، نتیجهی ذخیرهشده برگردانده میشود.
چرا از Function Caching استفاده میکنیم؟
فرض کنید تابعی داریم که محاسبات سنگینی انجام میدهد (مثلاً محاسبهی عدد فیبوناچی یا دریافت داده از اینترنت).
اگر چند بار با ورودی یکسان آن را اجرا کنیم، هر بار زمان زیادی میبرد.
اما با caching:
فقط بار اول محاسبه انجام میشود.
دفعات بعد، نتیجه مستقیماً از حافظه گرفته میشود (در کسری از ثانیه).
تابع ()re.search
این تابع فقط اولین تطبیق (match) را در رشته پیدا میکند.
اگر هیچ تطبیقی وجود نداشته باشد، مقدار None برمیگرداند.
مثال:
import re
pattern = r"cat"
text = "The cat is in the hat."
match = re.search(pattern, text)
if match:
print("Match found!")
else:
print("Match not found.")
🟢 خروجی:
Match found!
نکته:
تابع search() فقط اولین موردی که با الگو سازگار است را برمیگرداند و دیگر ادامه نمیدهد.
هدایت شده از یاسر محمودیان
Generators در Python.pdf
حجم:
231.6K
آموزش برنامه نویسی پایتون و AI
Generators در Python
Generators توابع ویژهای در Python هستند که به شما امکان میدهند یک دنباله مقادیر را به صورت تدریجی (on-the-fly) تولید کنید، بدون اینکه کل دنباله را همزمان در حافظه نگه دارید. این ویژگی به خصوص برای دادههای بزرگ یا محاسبات پیچیده بسیار مناسب است.
ایجاد یک Generator
برای ایجاد Generator از کلیدواژه yield استفاده میکنیم. وقتی yield اجرا میشود، مقدار برگردانده شده و اجرای تابع متوقف میشود تا دفعه بعد که مقدار بعدی درخواست شود.
مثال:
def my_generator():
for i in range(5):
yield i # تولید مقدار i به صورت تدریجی
gen = my_generator()
print(next(gen)) # 0
print(next(gen)) # 1
print(next(gen)) # 2
print(next(gen)) # 3
print(next(gen)) # 4
نکته: next() مقدار بعدی Generator را تولید میکند. وقتی تمام مقادیر تولید شدند، StopIteration رخ میدهد.
هدایت شده از یاسر محمودیان
Walrus Operator در پایتون.pdf
حجم:
164K
هدایت شده از یاسر محمودیان
ماژول time در پایتون.pdf
حجم:
521.9K