🧠 ফাংশন অ্যাডভান্সড টপিকস কী?
ফাংশন হলো পাইথনের সবচেয়ে শক্তিশালী টুলগুলোর মধ্যে একটি।
বেসিক ফাংশনের বাইরে, প্রোগ্রামাররা কিছু অ্যাডভান্সড ফিচার ব্যবহার করে কোডকে আরও পুনঃব্যবহারযোগ্য, কমপ্যাক্ট ও কার্যকরী বানাতে পারে।
এই পর্বে আমরা শিখব:
- Return Statement
- Variable Scope (Local, Global, Nonlocal)
- *args ও **kwargs
- Nested Function
- Lambda Recap
🔹 ১. Return Statement
return স্টেটমেন্ট ব্যবহার করে ফাংশন থেকে ভ্যালু ফিরিয়ে আনা যায়।
def add(a, b):
return a + b
result = add(10, 5)
print(result) # 15Return না দিলে ফাংশন None রিটার্ন করে।
def greet(name):
print(f"Hello {name}!")
print(greet("Rahim")) # Hello Rahim! \n None🔹 ২. Variable Scope (লোকাল ও গ্লোবাল)
- Local Variable: ফাংশনের ভিতরে ডিক্লেয়ার করা ভ্যারিয়েবল
- Global Variable: ফাংশনের বাইরে ডিক্লেয়ার করা ভ্যারিয়েবল
x = 10 # global
def func():
x = 5 # local
print("Inside function:", x)
func()
print("Outside function:", x)📤 আউটপুট:
Inside function: 5
Outside function: 10🔹 Nonlocal Variable (Nested Function এর জন্য)
def outer():
x = "Hello"
def inner():
nonlocal x
x = "Hi"
inner()
print(x)
outer() # Hi🔹 ৩. *args & **kwargs
*args→ Positional arguments এর জন্য (tuple হিসেবে)**kwargs→ Keyword arguments এর জন্য (dict হিসেবে)
def demo(*args, **kwargs):
print("Args:", args)
print("Kwargs:", kwargs)
demo(1, 2, 3, name="Rahim", age=25)📤 আউটপুট:
Args: (1, 2, 3)
Kwargs: {'name': 'Rahim', 'age': 25}🔹 ৪. Nested Function (ফাংশনের ভিতরে ফাংশন)
def outer():
print("This is outer function")
def inner():
print("This is inner function")
inner()
outer()Nested Function ব্যবহার করে কোড modular রাখা যায় এবং encapsulation করা যায়।
🔹 ৫. Lambda Function Recap
Lambda হলো one-line anonymous function।
square = lambda x: x ** 2
print(square(5)) # 25
add = lambda a, b: a + b
print(add(10, 15)) # 25ফাংশনের ভিতরে Lambda ব্যবহার:
def apply_func(x, func):
return func(x)
print(apply_func(5, lambda x: x**3)) # 125🏁 উপসংহার
এই পর্বে তুমি শিখলে —
✅ Return Statement ব্যবহার
✅ Local, Global ও Nonlocal ভ্যারিয়েবল
✅ *args ও **kwargs
✅ Nested Function
✅ Lambda Function পুনরায় ব্যবহার








