পাইথনে ফাংশন ডেফিনিশনে *args এবং **kwargs ব্যবহার হয় ভেরিয়েবল আর্গুমেন্ট হ্যান্ডল করার জন্য।
নামকরণ
*args→ Variable Positional Parameter (অবস্থান-ভিত্তিক ভেরিয়েবল প্যারামিটার)**kwargs→ Variable Keyword Parameter (কীওয়ার্ড-ভিত্তিক ভেরিয়েবল প্যারামিটার)
* এবং ** হলো আনপ্যাকিং অপারেটর। * ইটেরেবল আনপ্যাক করে, ** ম্যাপিং (ডিকশনারি) আনপ্যাক করে।
উদাহরণ: *args আনপ্যাকিং
def func(a, b, c):
return a + b + c
args = (1, 2, 3)
print(func(*args)) # func(1, 2, 3) এর সমান
আউটপুট
6
উদাহরণ: **kwargs আনপ্যাকিং
def greet(name, greeting="Hello"):
print(f"{greeting}, {name}!")
kwargs = {"name": "World", "greeting": "Hi"}
greet(**kwargs) # greet(name="World", greeting="Hi")
আউটপুট
Hi, World!