函数在定义中,通过在参数前加星号,将传递进来的多个参数转化为一个对象,元组或字典,可以说是将这些参数值收集起来。
参数前加一个星号,表明将所有的值放在同一个元组中,该参数的返回值是一个元组。
参数前加两个星号,表明将所有的值放在同一个字典中,该参数的返回值是一个字典。
1
2
3
4
5
6
7
8
9
|
>>> 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 } |
分配参数
函数在调用中,通过在参数前加星号,传递的参数必须是元组或字典,能够将其值转化为相应变量的值,这个过程可以看做参数值的分配。
参数前加一个星号,表明将元组值分配给对应的函数参数值。
参数前加两个星号,表明将字典中的值赋给键,函数的定义中要将键作为参数名。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
>>> 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 |
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容