English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دروس أساسية لـ python

تحكم في العملية في python

الوظائف في Python

أنواع البيانات في Python

عمليات ملفات python

أوبجكت وسلاس في python

تاريخ ووقت python

معرفة متقدمة لـ python

كتيب reference لـ python

الوظائف غير المسمى (Lambda) في Python

في هذا المقال، ستتعرف على الدوال المجهولة، التي تُسمى أيضًا بدوال lambda. من خلال الأمثلة ستتعرف على ما هي، ونحويتها وكيفية استخدامها.

ما هي دالة lambda في python؟

في python، الدوال المجهولة ليست لها اسم معينالدالة.

على الرغم من أن الكلمة المفتوحة def تستخدم في python لتعريف الدوال العادية، إلا أن الكلمة المفتوحة lambda تستخدم لتعريف الدوال المجهولة.

لذلك، تُسمى الدوال المجهولة أيضًا بدوال lambda.

كيفية استخدام دالة lambda في python؟

تملك دالة lambda في python النحو التالي.

نحوية دالة lambda في python

lambda arguments: expression

يمكن أن يكون لدي دالة lambda أي عدد من المعاملات، ولكن يمكن أن يكون لديها تعبير واحد فقط. يتم حساب التعبير وإرجاعه.

مثال على دالة lambda في python

هذا مثال على دالة lambda تجعل القيمة المدخلة تتضاعف.

# عرض البرنامج لدالة lambda
double = lambda x: x * 2
print(double(5))

نتيجة الإخراج

10

في البرنامج المذكور أعلاه، lambda x: x * 2 هي دالة lambda. هنا x هو المعامل، x * 2 هو التعبير الذي يتم حسابه وإرجاعه.

هذه الوظيفة ليس لها اسم. تعيد وظيفة الكائن، وتُعين على وسم double. الآن يمكننا تسميتها وظيفة عادية. اكتب أدناه

double = lambda x: x * 2

يساوي:

def double(x):
   return x * 2

استخدام وظيفة lambda في بايثون

عندما نحتاج إلى وظيفة مجهولة المصدر مؤقتًا، نستخدم وظيفة lambda.

في بايثون، نستخدمها عادة كمعلمات للوظائف المرتفعة (الوظائف التي تأخذ وظائف أخرى كمعلمات)المعلماتLambda يمكن استخدامها مع filter()، map() وغيرها من الوظائف المدمجة.

مثال على استخدام lambda مع filter()

وظيفة filter() في بايثون تأخذ وظيفة وقائمة.

تتم دعوة هذه الوظيفة باستخدام كل عنصر في القائمة، ويتم إرجاع قائمة جديدة تحتوي على العناصر التي يعود عليها الوظيفة.

هذا مثال على استخدام وظيفة filter() لتصفية العناصر الزوجية من القائمة.

# تصفية العناصر الزوجية من القائمة
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(filter(lambda x: (x % 2 == 0), my_list))
print(new_list)

نتيجة الإخراج

[4, 6, 8, 12]

مثال على استخدام lambda مع map()

وظيفة map() في بايثون تأخذ وظيفة وقائمة.

تتم دعوة هذه الوظيفة باستخدام كل عنصر في القائمة، ويتم إرجاع قائمة جديدة تحتوي على العناصر التي يعود عليها الوظيفة.

هذا مثال على استخدام وظيفة map() لضاعفة كل عنصر في القائمة.

# استخدام map() لتكديس كل عنصر في القائمة
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(map(lambda x: x * 2, my_list))
print(new_list)

نتيجة الإخراج

[2, 10, 8, 12, 16, 22, 6, 24]