在python中,
1,星号(*)运算符可以用在两个位置,函数定义和展开集合
def func1(*args): #用星号定义可变参数列表
for arg in args:
print 'arg=',arg
if __name__ == '__main__':
func1(1,2,3,4)
# args={'a':1,'b':2,'c':3,'d':4}
# args=[1,2,3,4]
args=(1,2,3,4)
func1(*args) #用*展开args列表
说明:args可以是tuple,list,或者map,如果用map的时候,key作为输入参数列表
2,双星号(**)也可以用在两个位置,函数定义和展开map集合
def func2(**args): #定义map类型参数列表
for key in args.keys():
print key,args.get(key)
if __name__ == '__main__':
args={'a':1,'b':2,'c':3,'d':4}
func2(a=1,b=2)
func2(**args) #用*展开args列表
输出结果如下:
a 1
b 2
a 1
c 3
b 2
d 4