کافه برنامه نویسان | 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗲𝗿s 𝗖𝗮𝗳𝗲
2.79K subscribers
1.16K photos
272 videos
31 files
1.2K links
👈 اینجا جایی است که یاد می‌گیریم و ایده‌هایمان را به واقعیت تبدیل می‌کنیم و در نهایت با هم رشد می‌کنیم

💬 Group : @IRdeveloperchat
تبادل / تبلیغات : @ProgramersCafeSup 🫴


♂️ مالک : @Ali_Rohany ♂️
Download Telegram
🔥در پایتون تابع لامبدا به چه دردی میخوره؟

🔰اول از همه تابع لامبدا چی هست؟؟
تابع لامبدا توی پایتون یه نوع تابع خیلی ساده و کوتاهه که می‌تونیم توی یک خط بنویسیم. به عبارتی دیگه، وقتی بخوایم یه کار خیلی سریع و ساده انجام بدیم، به جای اینکه یه تابع کامل با def بنویسیم، می‌تونیم از تابع لامبدا استفاده کنیم.
🔰ساختار تابع لامبدا
lambda arguments: expression

lambda:
این کلمه کلیدی نشون می‌ده که داریم یک تابع لامبدا تعریف می‌کنیم.
• arguments:
اینجا پارامترهایی که می‌خوایم به تابع بدیم رو مشخص می‌کنیم. مثلاً می‌تونیم یه یا چند عدد رو بهش بدیم.
• expression:
اینجا عملیاتی که می‌خوایم انجام بدیم رو مشخص می‌کنیم. مثلاً جمع دو عدد یا ضرب دو عدد.
🔰مثال:
فرض کن می‌خوایم دو تا عدد رو جمع کنیم. با تابع لامبدا می‌تونیم این کار رو به سادگی انجام بدیم:
add = lambda x, y: x + y
result = add(3, 5)
print(result) # خروجی: 8

🌀اینجا ما یک تابع به نام add درست کردیم که دو تا عدد رو می‌گیره و جمعشون رو برمی‌گردونه.

🔰کاربردهای تابع لامبدا
معمولاً توی جاهایی که بخوایم از توابع دیگه مثل map یا filter استفاده کنیم، خیلی به کار میان.

🌀مثال با map

فرض کن یه لیست از اعداد داریم و می‌خوایم هر عدد رو دو برابر کنیم:
numbers = [1, 2, 3, 4]
doubled = list(map(lambda x: x * 2, numbers))
print(doubled) # خروجی: [2, 4, 6, 8]

🌀اینجا ما از map استفاده کردیم که هر عدد رو به تابع لامبدا می‌ده و نتیجه رو دو برابر می‌کنه.

🌀مثال با filter

حالا فرض کن می‌خوایم فقط اعداد زوج رو از یک لیست بگیریم:
numbers = [1, 2, 3, 4, 5, 6]
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens) # خروجی: [2, 4, 6]

🌀اینجا هم از filter استفاده کردیم تا فقط اعداد زوج رو از لیست بگیره.

⚠️نکته مهم
تابع‌های لامبدا بیشتر برای کارهای ساده و سریع خوبن. اگر مثلا بخوای کار پیچیده آیی رو انجام بدی، بهتره از توابع معمولی با def استفاده کنی تا کدت قابل فهم‌تر باشه.
#Ah_sear

#python #lambda

Channel • @Programers_Cafe
Group • @IRdeveloperchat
👍9🔥2