def test(a,*args,**kwargs):
print a
print args
print kwargs
test(1,2,3,4,name='sun',age=25)
运行结果:
1
(2, 3, 4)
{'age': 25, 'name': 'sun'}
“args,*kwargs”是python中的可变参数。
“args”表示任何多个无名参数,它是一个tuple;“*kwargs”表示关键字参数,它是一个dict。
并且同时使用“args和kwargs”时,必须“args”参数列要在“**kwargs”前.
def test(a,*args,**kwargs):
print a
print args
print kwargs
a1=[5,6,7,8]
a2={'addr':'dl','phone':'123'}
test(1,a1,a2)
运行结果:
1
([5, 6, 7, 8], {'phone': '123', 'addr': 'dl'})
{}
def test(a,*args,**kwargs):
print a
print args
print kwargs
a1=[5,6,7,8]
a2={'addr':'dl','phone':'123'}
test(1,*a1,**a2)
运行结果:
1
(5, 6, 7, 8)
{'phone': '123', 'addr': 'dl'}
参数中“*list/tuple”形式表示,将list/tuple的元素挨个取出,作为函数参数;
参数中“**dict”形式表示,将dict的元素挨个取出,并形成key=value,作为函数参数;