पाठ 19 / 47

*args और **kwargs

किसी भी संख्या में positional या keyword आर्ग्युमेंट स्वीकार करें।

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

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

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) उन्हें फैला देता है।