Python函数的定义实例如下:
def funA(a,b):
"函数描述性文字"
s=a+b
print(s)
return s
使用__doc__能够访问函数开头的
"函数描述性文字",例如funA.__doc__就会输出:'
函数描述性文字'
可以给函数的参数设置默认值,如果需要为函数的参数设置默认值,则采用如下定义:
def funB(a,b=0):
"函数描述性文字"
s=a+b
print(s)
return s
则在调用funA的时候,没有为b赋值的情况下,b会默认为0,并且含有默认值的参数必须放在无默认值的参数的后面否则如下函数所示
def
funC(a,b=
0
,c):
print
(a)
print
(b)
print
(c)
以上定义方式在控制台会产生如下错误:
def funA(a,b=0,c):
^
SyntaxError: non-default argument follows default argument
Python函数调用有两种方式
- 一种是按照没有默认值的参数的顺序,为参数一一赋值,例如:funA(1,2),funB(1);
- 不按照参数的顺序为参数赋值,funA(b=2,a=1)效果和funA(1,2)一样。
在Python的参数里面还有有带*和**的参数出现。
- 带*的参数:
有时候在函数实际使用的时候,参数的数量是不能在定义函数的时候就确定的,例如定义输出函数的时候。这个时候我们可以给函数定义一个带有*的参数,用来表示可变参数,例子如下:
def funD(a,b=0,*c):
"函数描述性文字"
print(a)
print(b)
print(c)
funA(1,2,3,4,5,6)
以上的例子输出的结果如下:
1