标签:logs code python学习 原理 输出 错误 span 例子 --
一.*args和**kwargs原理
先看个例子:
def test(*args,**kwargs): print("args =",args) print("kwargs =",kwargs) print("----------------------------------") if __name__ == ‘__main__‘: test(1,5,94,564) test(a=1,b=2,c=3) test(1,2,3,4,a=1,b=2,c=3) test(‘I love python‘,1,None,a=1,b=2,c=3) #输出: args = (1, 5, 94, 564) kwargs = {} ---------------------------------- args = () kwargs = {‘a‘: 1, ‘b‘: 2, ‘c‘: 3} ---------------------------------- args = (1, 2, 3, 4) kwargs = {‘a‘: 1, ‘b‘: 2, ‘c‘: 3} ---------------------------------- args = (‘I love python‘, 1, None) kwargs = {‘a‘: 1, ‘b‘: 2, ‘c‘: 3} ----------------------------------
可以看到这两个是python中的可变参数,*args表示任何多个无名参数,他是个tuple,**kwargs表示关键字参数,它是个dict。在同时使用*args和**kwargs时,必须*args参数列要在**kwargs前面,要是test(a=1,b=2,c=3,1,2,3,4)这样调用的话肯定会报语法错误的!
二.使用**kwargs创建字典:
def kw_dict(**kwargs): return kwargs print(kw_dict(k1=‘v1‘,k2=‘v2‘,k3=‘v3‘)) #执行结果: {‘k3‘: ‘v3‘, ‘k2‘: ‘v2‘, ‘k1‘: ‘v1‘}
标签:logs code python学习 原理 输出 错误 span 例子 --
原文地址:http://www.cnblogs.com/wenwei-blog/p/7569157.html