انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: javad751 در 07 اسفند 1393، 09:27 قظ
-
سلام،دوستان اگر ممکنه در مورد Lambda Expressions و کاربردش توضیح بدید
چون انگلیسی بود من زیاد متوجه نشدم
https://docs.python.org/3.3/tutorial/controlflow.html#lambda-expressions
-
سلام
کلا در زبانهای برنامه نویسی مفهوم 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
>>>
که خب طولانی تره و همیشه میگن کد کمتر زندگی بهتر!