def baz1(foo, *args):
args के आगे * का अर्थ है "दिए गए बाकी मापदंडों को लें और उन्हें args नामक सूची में डालें"।
पंक्ति में:
foo(*args)
यहाँ args के आगे * का अर्थ है "इस सूची को args कहा जाता है और इसे बाकी मापदंडों में 'खोलें'।
foo2 में, सूची स्पष्ट रूप से पारित की जाती है, लेकिन दोनों रैपरों में args में सूची [1,2,3] होती है।
def baz1(foo, *args): # with star foo(*args) def baz2(foo, args): # without star foo(*args) def foo2(x, y, z): print x+y+z baz1(foo2, 2, 3, 4) baz2(foo2, [2, 3, 4])
आउटपुट
9 9