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