লম্বা ডিসকোর্সের চেয়ে ভাল একটি নমুনা মাঝে মাঝে ভাল হয় তার ভিত্তিতে আমি সমস্ত পাইথন ভেরিয়েবল আর্গুমেন্ট পাসিং সুবিধা (উভয় অবস্থানগত এবং নাম যুক্তি) ব্যবহার করে দুটি ফাংশন লিখব। এটি নিজের দ্বারা এটি কী করে তা সহজেই দেখতে পারা উচিত:
def f(a = 0, *args, **kwargs):
print("Received by f(a, *args, **kwargs)")
print("=> f(a=%s, args=%s, kwargs=%s" % (a, args, kwargs))
print("Calling g(10, 11, 12, *args, d = 13, e = 14, **kwargs)")
g(10, 11, 12, *args, d = 13, e = 14, **kwargs)
def g(f, g = 0, *args, **kwargs):
print("Received by g(f, g = 0, *args, **kwargs)")
print("=> g(f=%s, g=%s, args=%s, kwargs=%s)" % (f, g, args, kwargs))
print("Calling f(1, 2, 3, 4, b = 5, c = 6)")
f(1, 2, 3, 4, b = 5, c = 6)
এবং এখানে ফলাফল:
Calling f(1, 2, 3, 4, b = 5, c = 6)
Received by f(a, *args, **kwargs)
=> f(a=1, args=(2, 3, 4), kwargs={'c': 6, 'b': 5}
Calling g(10, 11, 12, *args, d = 13, e = 14, **kwargs)
Received by g(f, g = 0, *args, **kwargs)
=> g(f=10, g=11, args=(12, 2, 3, 4), kwargs={'c': 6, 'b': 5, 'e': 14, 'd': 13})