args هي Arguments وتعني المعاملات
kwargs هي Keys With Arguments وتعني المعاملات ومفاتيحها
والمقارنة بينهما كالتالي:
*args
تستخدم لإمرار معاملات ليس لها مفاتيح إلى الدوال ، وتستخدم بتلك الطريقة:
def test_var_args(farg, *args):
print "formal arg:", farg
for arg in args:
print "another arg:", arg
test_var_args(1, "two", 3)
الناتج يكون :
formal arg: 1
another arg: two
another arg: 3
---------------------------------------
**kwargs
تستخدم لإمرار معاملات ومفاتيحها إلى الدوال ، وتستخدم بتلك الطريقة:
def test_var_kwargs(farg, **kwargs):
print "formal arg:", farg
for key in kwargs:
print "another keyword arg: %s: %s" % (key, kwargs[key])
test_var_kwargs(farg=1, myarg2="two", myarg3=3)
الناتج يكون :
formal arg: 1
another keyword arg: myarg2: two
another keyword arg: myarg3: 3
أتمنى يكون وضح الفرق
المصدر