কম্পিউটার টিউটোরিয়াল

পাইথন ফাংশন আর্গামেন্ট হিসেবে ফাংশন পাস করা

পাইথনে ফাংশন ফার্স্ট-ক্লাস অবজেক্ট, তাই অন্য ফাংশনের আর্গামেন্ট হিসেবে পাস করা যায়। এটি হাইয়ার-অর্ডার ফাংশন তৈরি করতে সাহায্য করে।

বিল্ট-ইন উদাহরণ: 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 ইত্যাদি।

ব্যবহার ক্ষেত্র

স্ট্র্যাজি প্যাটার্ন, কলব্যাক, ইভেন্ট হ্যান্ডলার, ডেকোরেটর, ফাংশনাল প্রোগ্রামিং।

  1. সি ভাষায় পুরো অ্যারে ফাংশন আর্গুমেন্ট হিসেবে পাস করা

  2. C-এ ফাংশনে সম্পূর্ণ স্ট্রাকচার আর্গুমেন্ট হিসেবে পাস করা

  3. সি ভাষায় পুরো স্ট্রাকচার ফাংশন আর্গুমেন্ট হিসেবে পাস করা

  4. Matplotlib-এ মাল্টিভ্যারিয়েট ফাংশন প্লট করুন