函数形参
函数取得的参数是调用函数时提供给函数的值,这样函数就可以利用这些值 。这些参数就像变量一样,只不过它们的值是在调用函数的时候定义的,而非在函数本身内赋值。
参数在函数定义的圆括号对内指定,用逗号分割。当调用函数的时候,需要以同样的方式提供值。
局部变量
当在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。
如果要为一个定义在函数外的变量赋值,需要说明这个变量是全局的。可以使用global语句完成这一功能。可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。使用global语句可以清楚地表明变量是在外面的块定义的。
默认参数值
在函数定义的形参名后加上赋值运算符(=)和默认值,可以给形参指定默认参数值。
的例子
def
say
(message, times =
1
):
print
message * times
say(
'Hello'
)
say(
'World'
,
5
)
输出
Hello
WorldWorldWorldWorldWorld
只有在形参表末尾的那些参数可以有默认参数值,这是因为赋给形参的值是根据位置而赋值的。
关键参数
如果某个函数有许多参数,而在调用时只想指定其中的一部分,这时可以通过命名来为这些参数赋值(关键参数)——使用形参名字(关键字)而不是位置来给函数指定实参。
这样做有个好处:不必考虑参数的顺序,使用函数调用变得更加简单了。
例:
#!/usr/bin/python
def
func
(a, b=
5
, c=
10
):
print
'a is'
, a,
'and b is'
, b,
'and c is'
, c
func(
3
,
7
)
func(
25
, c=
24
)
func(c=
50
, a=
100
)
return语句
return
语句用来从一个函数返回。也可以返回一个值。没有返回值的return
语句等价于return None
。None
是Python中表示没有任何东西的特殊类型。
DocStrings
Python有一个很奇妙的特性,称为文档字符串(docstrings) 。DocStrings是一个重要的工具,它可以使程序文档更加简单易懂。
def
printMax
(x, y):
'''Prints the maximum of two numbers.
The two values must be integers.'''
x =
int
(x)
y =
int
(y)
if
x > y:
print
x,
'is maximum'
else
:
print
y,
'is maximum'
printMax(
3
,
5
)
print
printMax.__doc__
输出:
5 is maximum
Prints the maximum of two numbers.
The two values must be integers.
在函数的第一个逻辑行的字符串是这个函数的文档字符串。DocStrings也可以用于模块和类。
文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。
可以使用__doc__
(双下划线)调用文档字符串属性。Python把所有东西都作为对象,包括函数。
Python中的help()函数
所做的只是获取函数的__doc__
属性并显示。pydoc命令,与help()
类似地使用DocStrings。