الفرق بين المراجعتين لصفحة: «Python/lambda expressions»
< Python
أنشأ الصفحة ب'يمكن إنشاء دوال لا تحمل أسماء باستخدام الكلمة المفتاحية <code>lambda</code>، وتأخذ هذه الدوال الصيغة...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:تعابير lambda}}</noinclude> | |||
يمكن إنشاء دوال لا تحمل أسماء باستخدام الكلمة المفتاحية <code>lambda</code>، وتأخذ هذه الدوال الصيغة التالية:<syntaxhighlight> | يمكن إنشاء دوال لا تحمل أسماء باستخدام الكلمة المفتاحية <code>lambda</code>، وتأخذ هذه الدوال الصيغة التالية:<syntaxhighlight> | ||
lambda arguments: expression | lambda arguments: expression |
مراجعة 08:00، 13 مارس 2018
يمكن إنشاء دوال لا تحمل أسماء باستخدام الكلمة المفتاحية lambda
، وتأخذ هذه الدوال الصيغة التالية:
lambda arguments: expression
تسلك هذه الصيغة المختصرة سلوك دالة معرفة بالطريقة التالية:
def <lambda>(arguments):
return expression
على سبيل المثال، تعيد الدالة التالية مجموع الوسيطين الخاصين بها:
lambda a, b: a+b
يمكن استخدام دوال lambda
عند الحاجة إلى كائنات الدالة (function objects)، وتأخذ هذه الدوال تعبيرًا واحدًا فقط، وهي تعدّ صيغة مختصرة للطريقة الاعتيادية في تعريف الدوال.
كما هو الحال مع تعريفات الدوال المتداخلة، يمكن لدوال lambda
الإشارة إلى متغيرات من النطاق الحاوي لها، تعيد الدالة الاعتيادية دالة lambda
:
>>> def make_incrementor(n):
... return lambda x: x + n
...
>>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43
يمكن أيضًا تمرير دالة صغيرة كمعامل:
>>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
>>> pairs.sort(key=lambda pair: pair[1])
>>> pairs
[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
مصادر
صفحة More Control Flow Tools في توثيق بايثون الرسمي.