الوظائف كحجج
تعرف على كيفية تمرير الوظائف كمعلمات، مما يعزز إمكانية إعادة استخدام التعليمات البرمجية وكفاءتها بشكل كبير في تطوير البرامج.
سنغطي ما يلي...
في Python، يمكن أن تصبح دالة وسيطة لدالة أخرى. هذا مفيد في كثير من الحالات. لنقم بإنشاءcalculator وظيفة تتطلبadd ،subtract ، أوmultiply دالة مع رقمين كوسيطتين. لهذا، علينا تعريف الدوال الحسابية الثلاث أيضًا.
استخدام وظائف بسيطة
 في هذا المثال، لدينا العديد من الوظائف للعمليات الحسابية الأساسية وcalculator وظيفة تأخذ وظيفة أخرى كحجة لها لأداء العملية المحددة.
def add(n1, n2):return n1 + n2def subtract(n1, n2):return n1 - n2def multiply(n1, n2):return n1 * n2def calculator(operation, n1, n2):return operation(n1, n2) # Using the 'operation' argument as a function# Using the calculator with the multiply functionprint(calculator(multiply, 10, 20))# Using the calculator with the add functionresult = calculator(add, 5, 3)print(result)# Assigning a function to a variable and passing it to the calculatorsub_var = subtractprint(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 في هذه الطريقة، احتجنا إلى كتابة ثلاث دوال إضافية يمكن استخدامها ...