def baz1(foo, *args):
*args-এর পাশে * থাকলে মানে "বাকি প্যারামিটারগুলো নেওয়া এবং args নামক লিস্টে রাখা"।
লাইনে:
foo(*args)
এখানে * মানে "args লিস্টটি আনর্যাপ করে বাকি প্যারামিটার হিসেবে পাস করা"।
baz2-এ লিস্ট স্পষ্টভাবে পাস করা হয়েছে, কিন্তু দুটি র্যাপারের ক্ষেত্রে 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