انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: javad751 در 07 اسفند 1393، 09:27 ق‌ظ

عنوان: Lambda Expressions در python چیست؟
ارسال شده توسط: javad751 در 07 اسفند 1393، 09:27 ق‌ظ
سلام،دوستان اگر ممکنه در مورد Lambda Expressions و کاربردش توضیح بدید

چون انگلیسی بود من زیاد متوجه نشدم
https://docs.python.org/3.3/tutorial/controlflow.html#lambda-expressions
عنوان: پاسخ : Lambda Expressions در python چیست؟
ارسال شده توسط: ngc0der در 07 اسفند 1393، 09:25 ب‌ظ
سلام
کلا در زبانهای برنامه نویسی مفهوم lambda برای توابع بی نام به کار میره.مثلا در کدی که در لینک هست
>>> def make_incrementor(n):
...     return lambda x: x + n
...
>>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43

تابع make_incrementor یک تابع برمی گردونه که به دلیل ساده بودن با lambda پیاده سازی شده. اگه نخوایم با lambda پیاده سازی کنیم باید چیزی شبیه این بنویسیم:
>>> def make_incrementor(n):
...     def wrapper(x):
...             return x + n
...     return wrapper
...
>>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43
>>>

که خب طولانی تره و همیشه میگن کد کمتر زندگی بهتر!