python函数星号参数详解
函数在界说中,通过在参数前加星号,将通报进来的多个参数转化为一个工具,元组或字典,可以说是将这些参数值收集起来。
参数前加一个星号,表白将所有的值放在同一个元组中,该参数的返回值是一个元组。
参数前加两个星号,表白将所有的值放在同一个字典中,该参数的返回值是一个字典。
>>> def print_param(x, y, z = 3, *pospar, **keypar): print x,y,z print pospar print keypar >>> print_param(3,4,5,6,7,8,m = 1,n = 2) 3 4 5 (6, 7, 8) {'m': 1, 'n': 2}
分派参数
函数在挪用中,通过在参数前加星号,通报的参数必需是元组或字典,可以或许将其值转化为相应变量的值,这个进程可以看做参数值的分派。
参数前加一个星号,表白将元组值分派给对应的函数参数值。
参数前加两个星号,表白将字典中的值赋给键,函数的界说中要将键作为参数名。
>>> 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