...

/

الوظائف كحجج

الوظائف كحجج

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

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

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

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

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

Press + to interact
Python 3.10.4
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))

توضيح

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

  • الأسطر 1-8: هنا نرى الوظائف الثلاث،add ،subtract ، وmultiply سيتم تمريرها كحجج إلىcalculator وظيفة.

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

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

  • السطرين 17-18:add الوظيفة والقيم10 و20 يتم تمريرها إلى دالة الآلة الحاسبة. النتيجة30 يتم تمريرها مباشرة إلىprint الوظيفة والعرض.

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

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

من اجلcalculator في هذه الطريقة، احتجنا إلى كتابة ثلاث دوال إضافية يمكن استخدامها ...