*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 আপনার জন্য অনেক সহজ হয়ে যাবে!
লোড হচ্ছে...
1. *args কী কাজে ব্যবহৃত হয়?
*args ব্যবহার করে ফাংশনে যেকোনো সংখ্যক positional argument নেওয়া যায়।
2. **kwargs কী?
**kwargs দিয়ে যেকোনো সংখ্যক keyword argument dictionary আকারে নেওয়া যায়।
3. *args ও **kwargs এর পার্থক্য কী?
*args tuple নেয় আর **kwargs dictionary নেয়।