fbpx

تعلم لغة البايثون – الدرس العشرون الدالة الجزئية في بايثون Python Partial functions



يمكنك إنشاء وظائف جزئية في بيثون باستخدام الوظيفة الجزئية من مكتبة functools.

تسمح الدوال الجزئية للمرء باشتقاق دالة ذات معلمات x إلى دالة ذات معلمات أقل وقيم ثابتة محددة للدالة الأكثر محدودية.

الاستيراد مطلوب:

مثال

from functools import partial

سيعود هذا الرمز 8.

from functools import partial

def multiply(x,y):
        return x * y

# create a new function that multiplies by 2
dbl = partial(multiply,2)
print(dbl(4))

سنحصل على النتيجة التالية عند التشغيل

8

ملاحظة مهمة: ستبدأ القيم الافتراضية في استبدال المتغيرات من اليسار. سيحل 2 محل x. سوف يساوي 4 عند استدعاء dbl (4). لا يحدث فرق في هذا المثال ، لكنه يحدث في المثال أدناه.

تمرين

قم بتحرير الوظيفة المقدمة عن طريق استدعاء part () واستبدال المتغيرات الثلاثة الأولى في func (). ثم اطبع بالوظيفة الجزئية الجديدة باستخدام متغير إدخال واحد فقط بحيث يساوي الناتج 60.

# يتبع هو التمرين ، الوظيفة المقدمة:
from functools import partial
def func(u,v,w,x):
    return u*4 + v*3 + w*2 + x
# أدخل الشفرة هنا لإنشاءها وطباعتها باستخدام وظيفتك الجزئية

الحل

from functools import partial
def func(u,v,w,x):
    return u*4 + v*3 + w*2 + x

p = partial(func,5,6,7)
print(p(8))

سنحصل على النتيجة التالية عند التشغيل

<script.py> output:
    60





Leave a Reply