一、python中的函数参数形式
python中函数一般有四种表现形式:
1、def function(arg1, arg2, arg3...)
这种是python中最常见的一中函数参数定义形式,函数参数之间用逗号分隔,调用的时候的参数必须与定义的时候相同,且参数顺序与形参一一对应。
|
1
2
3
4
5
6
7
8
9 |
def myfunction(a, b): print
a,b#正确调用myfunction(3,7)#错误调用myfunction(3)myfunction(2, 3, 5) |
2、def function(arg1, arg2 = xx,arg3 = yy...)
这种定义方式其实和第一种类似,不同的只是提供了一个默认值。调用的时候有默认参数的形参可以不提供值。
|
1
2
3
4
5
6
7
8
9 |
def myfunction(a, b=0): print
a,b#正确调用myfunction(1)myfunction(3,9)myfunction(a =
3, b =
9)#还可以这样调用myfunction(b =
9, a =
3) |
3、def function(*arg)
这种方式是在不确定参数的个数的时候用到,有时候我不知道该传多少个实参给函数,在形参前面加上一个*表示这个函数的参数不确定,参数可以是0个或多个。如果我们将传进来的参数打印下来,发现参数是一个元组的形式。
|
1
2
3
4
5
6 |
def myfunction(*arg): print
argmyfunction(34, 43, 2)>>>(34, 43, 2) |
4、def function(**arg)
形参前面加两个星号表示传入的形参在函数内部将表示成字典形式。调用该方法的形式是:functiong(a=xx, b=yy...)
|
1
2
3
4
5
6 |
def myfunction(**arg): print
argmyfunction(a =
2, b =
4, c =
8)>>>{a:2, b:4, c:8} |
注: 如果以上四种参数形式出现在同一个函数中的时候,参数的优先级是1>2>3>4, 也就是参数解析方式是按这个顺序来解析的。
原文:http://www.cnblogs.com/tungwoo/p/3753604.html