...

/

الوظائف كحجج

الوظائف كحجج

تعرف على كيفية تمرير الوظائف كمعلمات، مما يعزز إمكانية إعادة استخدام التعليمات البرمجية وكفاءتها بشكل كبير في تطوير البرامج.

سنغطي ما يلي...

في Python، يمكن أن تصبح دالة وسيطة لدالة أخرى. هذا مفيد في كثير من الحالات. لننشئ دالة calculator تتطلب دالة add أو subtract أو multiply ، بالإضافة إلى رقمين كوسيطين. للقيام بذلك، علينا تعريف الدوال الحسابية الثلاث أيضًا.

استخدام وظائف بسيطة

في هذا المثال، لدينا العديد من الوظائف للعمليات الحسابية الأساسية ووظيفة الآلة calculator التي تأخذ وظيفة أخرى كحجة لها لإجراء العملية المحددة.

Press + to interact
def add(n1, n2):
return n1 + n2
def subtract(n1, n2):
return n1 - n2
def multiply(n1, n2):
return n1 * n2
def calculator(operation, n1, n2):
return operation(n1, n2) # Using the 'operation' argument as a function
# Using the calculator with the multiply function
print(calculator(multiply, 10, 20))
# Using the calculator with the add function
result = calculator(add, 5, 3)
print(result)
# Assigning a function to a variable and passing it to the calculator
sub_var = subtract
print(calculator(sub_var, 10, 20))

توضيح

وهنا شرح الكود:

  • الأسطر من ١ إلى ٨: نرى هنا الدوال الثلاث، add ، subtract ، multiply . سيتم تمرير هذه الدوال كوسائط إلى دالة calculator .

  • السطران ١٠-١١: تم هنا إعلان دالة calculator . معاملها الأول، operation )، سيحمل الدالة المطلوب تنفيذها. المعاملان التاليان، n1 و n2 ، سيحملان القيم التي سيتم تمريرها إلى operation .

  • السطر ١٤: تُمرَّر دالة multiply والقيمتان 10 و 20 إلى دالة الآلة الحاسبة. تُحفَظ النتيجة 200 في متغير result وتُعرَض.

  • السطران ١٧-١٨: تُمرَّر دالة add والقيمتان 10 و 20 إلى دالة الآلة الحاسبة. تُمرَّر النتيجة 30 مباشرةً إلى دالة print وتُعرَض.

  • السطرين 21-22: نرى هنا أن دالة subtract يتم تخزينها أولاً في متغير sub_var ثم يتم تمريرها إلى دالة calculator .

استخدام lambdas لتحسين قابلية القراءة

بالنسبة لطريقة calculator ، احتجنا إلى كتابة ...