*args
:将实参中按照位置传值,多余的值都给args,以元组的方式呈现
**kw
:形参中按照关键字传值,多余的值都给kw,以字典*的方式呈现
传值方式:①指定关键字匹配:如a=1,b=2
②传入字典(要在前面加**:如 **('a':1,'b':2)
注意:
(1)键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中,
(2)字典中的键/值对是没有顺序
实例一:
def test(*args,**kwargs):
print('args=',args)
print('kwargs=',kwargs)
test(1,2,3,4)
test(a=5,b=6,c=7)
test(1,2,a=3,b=4)
输出结果:
args= (1, 2, 3, 4)
kwargs= {}
args= ()
kwargs= {'a': 5, 'b': 6, 'c': 7}
args= (1, 2)
kwargs= {'a': 3, 'b': 4}
实例二:
def test(*avgr,**kw):
print(avgr,'y:',kw)
test(1,**{'x':1,'z':2})
test(1,x=1,y=2)
(1,) y: {'x': 1, 'z': 2}
(1,) y: {'x': 1, 'y': 2}
refer:
python中*args和**kw - 张一驰 - 博客园 (cnblogs.com)
python里**kw的调用_qq_35081859的博客-优快云博客_python中的kw
侵删