tgoop.com/teachify/4183
Create:
Last Update:
Last Update:
✔️ ماژول functools و توابع partial و partialmethod
حتماً براتون پیش اومده که بخواین تابعی بسازین که بعضی از آرگومانهاش همیشه مقدار ثابتی دارن، ولی نخوایین هر بار اون مقدارها رو دستی بدین!
اینجاست که دو قهرمان وارد میشن:
functools.partial
functools.partialmethod
■تابع partial
تابع partial یه نسخه جدید از تابع اصلی میسازه که بعضی آرگومانهاش از قبل مقداردهی شدن.
مثال ساده:
from functools import partial
def power(base, exponent):
return base ** exponent
# ایجاد تابعی که همیشه توان 2 میگیره
square = partial(power, exponent=2)
print(square(5)) # خروجی: 25
اینجا تابع square مثل power(base, 2) عمل میکنه.
در واقع، partial کمک میکنه تا توابع جدیدی بسازیم بدون تکرار کد و با آرگومانهای از پیش تنظیمشده
■تابع partialmethod
اما اگه بخوای این کار رو داخل کلاس انجام بدی، باید از partialmethod استفاده کنی.
مثال:
from functools import partialmethod
class MathOps:
def power(self, base, exponent):
return base ** exponent
square = partialmethod(power, exponent=2)
m = MathOps()
print(m.square(5)) # خروجی: 25
در اینجا partialmethod مثل partial عمل میکنه ولی مخصوص متدهای کلاس هست.
اون بهصورت خودکار self رو مدیریت میکنه، چیزی که partial در متدها نمیتونه انجام بده.
@Teachify | برنامه نویسی
BY برنامه نویسی | Teachify

Share with your friend now:
tgoop.com/teachify/4183