*args的使用例子:
def abc(h, *argv):
print("1%s:"%h)
for arg in argv:
print("2:%s:"%arg)
abc('ysdss', 'ggggg', 6666, 'mmfdf')
在你不确定将要传递多少参数给函数时,可以定义*agrv参数,调用函数时,可以传递任意个参数给函数,第一个参数对应h,剩余参数作为 元组 传递给argv参数,可以通过 argv[i]的方式访问argv参数的数据。
**kwargs使用例子:
def greet_me(**kwargs):
print(type(kwargs))
for key, value in kwargs.items():
print("{0} == {1}".format(key, value))
**kwargs
允许你将不定长度的键值对, 作为参数传递给一个函数。 如果你想要在一个函数里处理带名字的参数, 你应该使用**kwargs
。
调用函数时,可以传递任意个键值对给函数,所有参数作为 元组 传递给kwargs参数,kwargs参数为字典类型,可以通过访问字典的方式访问kwargs参数的数据。
如果你想在函数里同时使用 普通参数、*args、**kwargs 三种参数, 顺序是这样的:
some_func(fargs, *args, **kwargs)