ল্যাম্বডা ফাংশন (Lambda Function):
ল্যামডা ফাংশনকে এক কথায় বেনামী বা অজ্ঞাত ফাংশন বলা হয়। পূর্বের ফাংশন পর্বে আমরা দেখেছি যে ফাংশন ডিফাইন করার জন্য def কিওয়ার্ড ব্যবহার করতে হয়। কিন্তু ল্যামডা ফাংশনের জন্য এগুলোর প্রয়োজন নেই।
ল্যাম্বডার ব্যবহার খুব ফলপ্রসূ হয় যখন খুব সিম্পল যেমন এক লাইনের একটি ফাংশনকে আরেকটি ফাংশনের আর্গুমেন্ট হিসেবে পাঠানোর দরকার পরে। অর্থাৎ যখন সেই এক লাইনের কাজ করা ফাংশনকে আলাদা ভাবে def
দিয়ে ডিফাইন/তৈরি করা অনর্থক মনে হয়।
সিনটেক্সট
প্রথমে lambda কিওয়ার্ড লিখে এর আর্গুমেন্ট গুলোকে লেখা হয় এবং একটি কোলন দেয়ার পর এই ল্যাম্বডা তথা ফাংশনের কর্মকাণ্ড লেখা হয়।
#এখানে lambda ফাংশন একটি আর্গুমেন্ট x নেয় এবং তার বর্গ রিটার্ন করে।
square = lambda x: x ** 2
num = 4
squared_num = square(num)
print("বর্গ:", squared_num)
প্রতিটি লাইনের ব্যাখ্যা
- 1.
square = lambda x: x ** 2
: এই লাইনে একটি ল্যাম্বডা ফাংশন ডিফাইন করা হয়, যার নামsquare
। এই ফাংশনে একটি আর্গুমেন্টx
নেয় এবং তার বর্গ ক্যালকুলেট করেx ** 2
ফর্মুলার মাধ্যমে। ফাংশনটি ক্যালকুলেশন সম্পন্ন করে এবং সংজ্ঞায়িত নামsquare
দিয়ে রাখা হয়। - 2.
num = 4
: এই লাইনে একটি ভেরিয়েবলnum
তৈরি করা হয় এবং এটির মান ৪ দিয়ে সেট করা হয়। এটি বর্গ ক্যালকুলেশনে ব্যবহার হবে। - 3.
squared_num = square(num)
: এই লাইনে,square()
ল্যাম্বডা ফাংশনটি কল করা হয়, যেখানে আর্গুমেন্ট হিসেবেnum
এর মান ৪ পাস করা হয়। ফাংশনটি ৪ এর বর্গ ক্যালকুলেট করে এবং সেটি রিটার্ন করে। এই রিটার্ন মানটিsquared_num
ভেরিয়েবলে সংরক্ষিত হয়। - 4.
print("বর্গ:", squared_num)
: এই লাইনেprint()
ফাংশন ব্যবহার হয়, যেটি “বর্গ:” টেক্সট প্রিন্ট করে এবংsquared_num
ভেরিয়েবলে সংরক্ষিত বর্গ মান প্রিন্ট করে।
এখানে উল্লেখ্য –
- ল্যামডা ফাংশন শুধুমাত্র একটা স্টেটমেন্টের হবে।
- ল্যামডা ফাংশন যেকোন সংখ্যক আর্গুমেন্ট গ্রহণ করতে পারে।