python形参的传递/匹配

来源:互联网 发布:权志龙ins视频软件 编辑:程序博客网 时间:2024/05/18 13:24

现有如下函数:

def func(name, age):    print(name, age)

对于这个函数,以下的调用是等价的:

func('rechar', 27)    #按顺序匹配
func(name = 'rechar', age = 27)    #按参数名称匹配,在运行时告诉系统参数name的值为‘rechar’,age的值为27
func(age = 27, name = 'rechar')    #按参数名称匹配
func('rechar', age = 27)    #name是按顺序匹配,age按名称匹配

分析:
在python中,当按照参数名称进行匹配参数时,参数传递的顺序是可以任意的,不要求按照函数定义中参数的顺序进行传递。在使用名称匹配时,如果需要混合使用按顺序匹配规则,则按顺序匹配的参数必须出现在按key匹配的参数前,否则会报错,如:

func(name = 'rechar', 27)
原创粉丝点击