Search⌘ K
AI Features

الدوال كوسائط

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

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

استخدام الدوال البسيطة

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

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 الوظيفة والقيم5 و3 يتم تمريرها إلى دالة الآلة الحاسبة. والنتيجة8 يتم تمريرها مباشرة إلىprint تم عرض الوظيفة.

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

استخدام تعابير لامدا لتحسين سهولة القراءة

لـcalculator باستخدام هذه الطريقة، احتجنا ...