函数在定义中,通过在参数前加星号,将传递进来的多个参数转化为一个对象,元组或字典,可以说是将这些参数值收集起来。
参数前加一个星号,表明将所有的值放在同一个元组中,该参数的返回值是一个元组。
参数前加两个星号,表明将所有的值放在同一个字典中,该参数的返回值是一个字典。
# @param python函数星号参数详解
# @author 编程之家 jb51.cc|512Pic.com
>>> def print_param(x,y,z = 3,*pospar,**keypar):
print x,z
print pospar
print keypar
>>> print_param(3,4,5,6,7,8,m = 1,n = 2)
3 4 5
(6,8)
{'m': 1,'n': 2}
# End www.jb51.cc
分配参数
函数在调用中,通过在参数前加星号,传递的参数必须是元组或字典,能够将其值转化为相应变量的值,这个过程可以看做参数值的分配。
参数前加一个星号,表明将元组值分配给对应的函数参数值。
参数前加两个星号,表明将字典中的值赋给键,函数的定义中要将键作为参数名。
# @param python函数星号参数详解
# @author 编程之家 jb51.cc|512Pic.com
>>> def add(x,y):
print x,y
return x + y
>>> add(*param)
1 2
3
>>> def test(name,age):
print name,age
>>> m = {'name':'xiaoli','age':'12'}
>>> test(**m)
xiaoli 12
>>> m = {'name':'xiaoli','age':12}
>>> test(**m)
xiaoli 12
# End www.jb51.cc