看参数源码里面方法里面总是带有*args和**kwargs 一直没有弄清楚是什么意思,感觉和很不明觉厉,一直没有时间弄清楚,今天有时间,觉得还是弄清楚比较好,就百度了一下,网上有好多的简单直白的翻译,按照自己理解的在记录一下,巩固巩固。
def show (*arg):
print(arg)
show(1)
show(1,2)
show('hello','world','!!!')
##################################################
(1,)
(1, 2)
('hello', 'world', '!!!')
def show(**arg):
print(arg)
show(o1=2)
show(one=2, two='je')
show(one='hello', two='world', three='!!!')
##################################################
{'o1': 2}
{'one': 2, 'two': 'je'}
{'one': 'hello', 'two': 'world', 'three': '!!!'}
把代码改了改,
def show(**arg):
print(arg.get('two'))
print(arg.get('ones', 'None'))
print(arg['three'])
show(one='hello', two='world', three='!!!')
#############################################################
world
None
!!!