# *args और **kwargs — Python Fundamentals: Basics से Async तक

Source: https://www.skillbyai.com/hi/python/py-args-kwargs

> *args और **kwargs से किसी भी संख्या के positional व keyword arguments स्वीकार करें, और calls पर उन्हें unpack करें।

## परिवर्तनशील आर्ग्युमेंट

`*args` अतिरिक्त positional आर्ग्युमेंट को tuple में इकट्ठा करता है; `**kwargs` अतिरिक्त keyword आर्ग्युमेंट को dict में।

```python
def total(*args, **kwargs):
    print(args)      # (1, 2, 3)
    print(kwargs)    # {'tax': 0.1}
    return sum(args) * (1 + kwargs.get("tax", 0))

print(total(1, 2, 3, tax=0.1))
```

## कॉल पर अनपैकिंग

`*` और `**` कॉल साइड पर **अनपैक** भी करते हैं: `total(*my_list, **my_dict)` उन्हें फैला देता है।
