পাইথনে ফাংশন ফার্স্ট-ক্লাস অবজেক্ট, তাই অন্য ফাংশনের আর্গামেন্ট হিসেবে পাস করা যায়। এটি হাইয়ার-অর্ডার ফাংশন তৈরি করতে সাহায্য করে।
বিল্ট-ইন উদাহরণ: map()
def sqr(x):
return x ** 2
numbers = [1, 3, 5, 7, 9]
result = list(map(sqr, numbers))
print(result) # [1, 9, 25, 49, 81]
ল্যাম্বডা ব্যবহার করে
result = list(map(lambda x: x**2, numbers)) print(result) # [1, 9, 25, 49, 81]
কাস্টম হাইয়ার-অর্ডার ফাংশন
def apply_twice(func, value):
return func(func(value))
def add_five(x):
return x + 5
print(apply_twice(add_five, 10)) # 20 (10+5+5)
অন্যান্য বিল্ট-ইন হাইয়ার-অর্ডার ফাংশন
filter(func, iterable)— ফিল্টারিংsorted(iterable, key=func)— সর্টিংfunctools.reduce(func, iterable)— রিডাকশনitertools.starmap,functools.partialইত্যাদি।
ব্যবহার ক্ষেত্র
স্ট্র্যাজি প্যাটার্ন, কলব্যাক, ইভেন্ট হ্যান্ডলার, ডেকোরেটর, ফাংশনাল প্রোগ্রামিং।