Python Lambda
Python
Lambda
Aronnok
CSE 44 batch, AUST
lambda হল একটি ফাংশন যেটি যে কোনও সংখ্যক আর্গুমেন্ট নিতে পারে,
তবে কেবলমাত্র একটির মত expression থাকে।
আর মজার বেপার হলো একে anonymous function ও বলা হয়।
anonymous function বলার কারন হল এটি অজানা আর্গুমেন্ট নিতে ব্যবহার করা হয়।
Syntax
Lambda arguments : expression
Example
নিচের কোড টি
লক্ষ কর। এটি একটি অজানা আর্গুমেন্ট এর সাথে ১০ যোগ করে। আমরা
print(x(5))→ এটি দারা অজানা
আর্গুমেন্ট a এর মধ্যে ৫ কে অ্যাসাইন করেছি। এখানে আমাদের এক্সপ্রেশন →a + 10
x
= lambda a : a + 10
print(x(5))
print(x(5))
Output:
15
>>>
Lambda
function with multiplies argument :
এটি যে কোনও সংখ্যক আর্গুমেন্ট নিতে পারে, তবে
কেবলমাত্র একটির মত expression থাকে।
x = lambda a, b, c : a + b + c
print(x(5, 6, 2))
print(x(5, 6, 2))
এখানে আমরা ৩টি আর্গুমেন্ট ব্যবহার করেছি a ,b, c
Output:
18
>>>
Use of lambda
function in a define function:
লাম্বদা কে আমরা যেকোন ফাংশন এ
ব্যবহার করতে পারি। আমরা কেন লাম্বদা ব্যবহার করব ?
আপনি তাদের অন্য কোনও ফাংশনের ভিতরে বেনামী ফাংশন হিসাবে ব্যবহার করেন।
Code:
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2) → এখানে myfunc(n) কে কল করে n এর মধ্যে 2 কে অ্যাসাইন করা হয়েছে।
print(mydoubler(11)) → এখানে myfunc(n) কে কল করে lambda a এর মধ্যে ১১ কে অ্যাসাইন করা হয়েছে।
return lambda a : a * n
mydoubler = myfunc(2) → এখানে myfunc(n) কে কল করে n এর মধ্যে 2 কে অ্যাসাইন করা হয়েছে।
print(mydoubler(11)) → এখানে myfunc(n) কে কল করে lambda a এর মধ্যে ১১ কে অ্যাসাইন করা হয়েছে।
Output:
22
>>>
এবার নিচের code টি রান করে দেখো ।
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))
myfunc(n)কে একবার mydoubler
এর মধ্যে কল করেছি আর একবার mytripler
এর মধ্যে কল করা হয়েছে। যেখানে n এর মান একবার ২ আররেকবার
৩ অ্যাসাইন করা হয়েছে এবং a এর মান দুই ক্ষেত্রেই ১১ অ্যাসাইন
করা হয়েছে ।
Most
Important thing:
Use
lambda functions when an anonymous function is required for a short period of
time.
No comments