*args ও **kwargs

🐍 Python Advanced Function: *args ও **kwargs

Python-এ function কে আরও বেশি flexible এবং powerful করার জন্য *args এবং **kwargs ব্যবহার করা হয়। এগুলো দিয়ে আমরা variable number of arguments খুব সহজে handle করতে পারি।


🔹 *args কী?

*args ব্যবহার করা হয় যখন আমরা জানি না function-এ কয়টি positional argument আসবে। Python এগুলোকে একটি tuple হিসেবে গ্রহণ করে।

📌 Example: *args ব্যবহার

def add_numbers(*args):
    total = 0
    for num in args:
        total += num
    return total

result = add_numbers(10, 20, 30, 40)
print(result)

Output:

100

👉 এখানে *args = (10, 20, 30, 40) এবং loop চালিয়ে সব সংখ্যার যোগফল বের করা হয়েছে।


🔹 **kwargs কী?

**kwargs ব্যবহার করা হয় যখন function-এ key = value আকারে argument পাঠানো হয়। Python এগুলোকে একটি dictionary হিসেবে গ্রহণ করে।

📌 Example: **kwargs ব্যবহার

def student_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key} : {value}")

student_info(name="Rahul", age=22, course="Python")

Output:

name : Rahul
age : 22
course : Python

👉 এখানে **kwargs একটি dictionary হিসেবে কাজ করছে: {'name':'Rahul','age':22,'course':'Python'}


🔹 *args এবং **kwargs একসাথে ব্যবহার

একটি function-এ একসাথে *args এবং **kwargs ব্যবহার করা যায়। তবে অবশ্যই *args আগে এবং **kwargs পরে লিখতে হবে।

📌 Example: Combined Usage

def show_details(*args, **kwargs):
    print("Subjects:")
    for subject in args:
        print("-", subject)

    print("\nStudent Info:")
    for key, value in kwargs.items():
        print(f"{key} : {value}")

show_details(
    "Python", "JavaScript", "React",
    name="Amit", age=23
)

Output:

Subjects:
- Python
- JavaScript
- React

Student Info:
name : Amit
age : 23

🎯 বাস্তব জীবনে কোথায় ব্যবহার হয়?

  • Reusable function তৈরি করতে
  • Framework / Library development
  • API data handle করার সময়
  • Dynamic input নেওয়ার জন্য

✨ Summary (সংক্ষেপে)

  • *args → Multiple positional arguments (tuple)
  • **kwargs → Key-value arguments (dictionary)
  • ✅ Function কে flexible ও powerful করে
  • ✅ Professional Python development-এ খুব গুরুত্বপূর্ণ

🎉 *args ও **kwargs বুঝে গেলে Python Advanced Function আপনার জন্য অনেক সহজ হয়ে যাবে!

👼 Quiz
/

লোড হচ্ছে...

Interview Questions:

1. *args কী কাজে ব্যবহৃত হয়?

*args ব্যবহার করে ফাংশনে যেকোনো সংখ্যক positional argument নেওয়া যায়।

2. **kwargs কী?

**kwargs দিয়ে যেকোনো সংখ্যক keyword argument dictionary আকারে নেওয়া যায়।

3. *args ও **kwargs এর পার্থক্য কী?

*args tuple নেয় আর **kwargs dictionary নেয়।