一、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
arg myfunction( 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
arg myfunction(a =
2 , b =
4 , c =
8 ) >>>{a: 2 , b: 4 , c: 8 } |
注: 如果以上四种参数形式出现在同一个函数中的时候,参数的优先级是1>2>3>4, 也就是参数解析方式是按这个顺序来解析的。
原文地址:http://www.cnblogs.com/tungwoo/p/3753604.html