相信学python的小伙伴肯定有这样的尴尬局面,给一个函数不会用,
原因是:不知道参数列表中的类型是什么意思,比如初学者都会疑问的:*args和**kwargs到底是怎么用。
当你知道这个时,我猜你肯定能会用好多函数了!
#*args的用法:当传入的参数个数未知,且不需要知道参数名称时。
def func_arg(farg, *args): print("formal arg:", farg) for arg in args: print("another arg:", arg) func_arg(1,"youzan",'dba','四块五的妞') print("-----------------------")
# 输出结果如下:
#formal a编程客栈rg: 1
# another arg: youzan # another arg: dba # another arg: 四块五的妞 # ----------------编程客栈-------
#**kwargs的用法:当传入的参数个数未知,但需要知道参数的名称时(立马想到了字典,即键值对)
def func_kwargs(farg, **kwargs): print("formal arg:", farg) for key in kwargs: print("keyword arg: %s: %s" %www.cppcns.com (key, kwargs[key])) func_kwargs(1 ,id=1, name='youzan', city='hangzhou',age ='20',四块五的妞是 = '来日方长的') print('--------------------')
# 输出结果如下:
编程客栈# formal arg: 1
# keyword arg: id: 1 # keyword arg: name: youzan # keyword arg: city: hangzhou # keyword arg: age: 20 # keyword arg: 四块五的妞是: 来日方长的
利用它转换参数为字典
def kw_dict(**kwargs): return kwargs print(kw_dict(a=1,b=2,c=3))
输出结果如下:
# --------------------
# {'a': 1, 'b': 2, 'c': 3}
以上就是Python编程中*args与**kwargs区别作用详解的详细内容,更多关于Python中*args与**kwargs的资料请关注我们其它http://www.cppcns.com相关文章!
精彩评论