آموزش لامبدا Lambda در پایتون و نحوه فراخوانی آن


آموزش لامبدا Lambda در پایتون و نحوه فراخوانی آن
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.

توابع لامبدا در پایتون (python lambda functions)

در این درس از آموزش پایتون، قصد داریم مبحث توابع لامبدا در زبان پایتون را به شما عزیزان آموزش دهیم. توابع لامبدا در پایتون، توابع ناشناسی هستند، چرا که این توابع بدون نام هستند. تابع لامبدا یکی از ساده ترین روش ها برای تعریف تابع در پایتون هست. همانطور که می دانید برای تعریف یک تابع عادی در پایتون از کلمه کلیدی def استفاده می شود. 

به طور مشابه از کلمه کلیدی lambda برای تعریف یک تابع ناشناس استفاده می شود. کاربرد لامبدا در پایتون در کد هایی است که نیازی به تعریف توابع معمولی و طولانی ندارند و توابع کوتاه و یک خطی نیز راهگشاست. 

چگونه لامبدا را در پایتون تعریف کنیم؟

سینتکس توابع لامبدا در پایتون به صورت زیر می باشد:

lambda arguments: expression

ویژگی های توابع لامبدا در پایتون:

  1. این توابع می توانند هر تعداد آرگومان را داشته باشند اما فقط یک عبارت دارند. این تک عبارت است که ارزیابی و برگردانده می شود.
  2. استفاده از توابع لامبدا در پایتون در جایی که به اشیا نیاز باشد، آزاد است. 
  3. توابع لامبدا در پایتون از نظر نحوی به یک عبارت محدود می شوند.

در ادامه مثالی از توابع لامبدا در پایتون را آورده ایم:

# Python program to demonstrate
# lambda functions 
 
x ="Darsman.com"
 
# lambda gets pass to print
(lambda x : print(x))(x)

خروجی این قطعه کد نیز به شکل زیر می باشد:

Darsman.com

تفاوت بین توابع لامبدا در پایتون و توابع تعریف شده با def

برای درک بهتر این موضوع از مثال زیر استفاده کرده ایم. توسط این برنامه یک مقدار معین برگردانده می شود:

# Python code to illustrate cube of a number
# showing difference between def() and lambda().
def cube(y):
    return y*y*y
 
lambda_cube = lambda y: y*y*y
 
# using the normally
# defined function
print(cube(5))
 
# using the lambda function
print(lambda_cube(5))

خروجی این برنامه نیز به صورت زیر می باشد:

125
125

همانطور که دیدید هر دو تابع ()cube و ()lambda_cube عملکرد یکسانی داشتند. 
همانطور که از این مثال متوجه شدیم؛ هردوی این توابع یک عدد معین را بر می گردانند. هنگام تعریف تابع با کلمه کلیدی def ابتدا باید تابعی را با تعریف کرده و سپس مقداری را به آن ارسال کنیم. 
پس از اجرای تابع نیز برای برگرداندن نتیجه از کلمه کلیدی return استفاده کنیم. اما هنگام استفاده از توابع لامبدا در پایتون نیازی به استفاده از return نداریم. چرا که همیشه اوی عبارتی است که برگردانده می شود. شما می توانید تعریف لامبدا را در هر جایی که انتظار یک تابع را دارید قرار دهید و مجبور نیستید ان را به یک متغیر اختصاص دهید.
در ادامه نیز چند مثال دیگر از مبحث لامبدا در پایتون را آورده ایم تا بهتر متوجه این درس شوید:
مثال اول: این مثال نمونه ای ازتابع لامبدا در پایتون به همراه if-else می باشد:

# Example of lambda function using if-else
Max = lambda a, b : a if(a > b) else b 
print(Max(1, 2))

خروجی این مثال عدد (2) می باشد.

مثال دوم: این مثال نمونه ای از تابع لامبدا و لیست ها می باشد:

tables = [lambda x=x: x*10 for x in range(1, 11)]
 
for table in tables:
    print(table())

خروجی این قطعه کد نیز به صورت زیر می باشد:

10
20
30
40
50
60
70
80
90
100


در این درس به مبحث بسیار مهم و کاربردی توابع لامبدا در پایتون پرداختیم. ابتدا توضیح دادیم توابع لامبدا چه کاربردی دارند و چگونه نوشته می شوند. پس از آن با ذکر مثال هایی به بیان تفاوت تابع لامبدا و توابع معمولی پرداختیم. امیدواریم این درس را دوست داشته باشید و از آن استفاده کنید. برای تسلط کامل به مبحث لامبدا در پایتون توصیه می کنیم ویدیو این درس را در همین صفحه تماشا کنید.
 

نظرات
کاربر درسمن
nader

سلام من یه درس رو بیشتر ندیم مبحث لامبدا بسیار با حوصله و مفید بود

پشتیبانی 1
پشتیبانی 1

ممنون از شما خیلی خوشحالیم که دوره پایتون مورد رضایت شما عزیزان بوده است.


نظر بدهید نظر شما در تصمیم دیگران اثرگذار است. لطفا برای ما و همراهان درسمن نظر خود را بنویسید.
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.


مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات : جلسه
مدت زمان : 892 دقیقه
حجم دوره : 2/60 گیگابایت
سطح مهارت : مقدماتی تا متوسط
وضعیت دوره : پایان یافته
تعداد دانشجویان : 6199
: میانگین امتیاز
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و ....