可变参数
可变参数应该最简单,在c/c++和java等语言中都有,就是用*号来表示,例如
1
|
def testarg( * arg) |
你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或列表
关键字参数
关键字参数在python中习惯用**kw表示,可以传入0到任意多个“关键字-值”,参数在函数内部被当做一个字典结构。例如
1
2
|
def testarg( * * kw) def testarg(city, * * kw) |
可以这样调用他
1
2
|
testarg(name = 'john' ,job = 'hoker' ) testarg( 'beijin' ,name = 'john' ) |
关键字参数可以用来后期扩充函数的功能,例如:先设定必要的参数,之后选择性的增加可选参数。
命名关键字参数
采用命名关键字参数可以限制函数传入的关键字参数,定义如下:
1
|
def testarg(city,name, * ,age,job) |
可以这样调用他
1
2
|
testarg( 'beijin' , 'wfp' ,age = '25' ,job = 'hoker' ) testarg( 'beijin' , 'wfp' ,addr = 'shanghai' ,age = '25' ,job = 'hoker' ) |
但是不能这样调用他
1
|
testarg( 'beijin' , 'wfp' , '25' ,job = 'hoker' ) |
会提示缺少一个参数,定义了命名关键字参数的话,必须要把全部的关键字参数传入进去
以上所述是小编给大家介绍的python的三种可变参数详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://blog.csdn.net/a2211455/article/details/53928870