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