函数:将一段代码定义为函数并指定函数名,方便调用
lambda表达式:可作为表达式、函数参数、函数返回值,让程序更简洁
5.1 函数入门
定义函数要考虑的3个问题
- 把动态变化的参数定义为函数的参数
- 把希望得到的数据定义为返回值
- 函数的内部实现过程
def 函数名(形参列表):
执行语句...
[return 返回值]
def 内置关键字,用于定义函数,以便将程序的各功能划分到单独的函数中
函数名:语法上,是合法的标识符即可;可读性上,应由小写单词用下划线连缀而成
形参列表:有多个形式参数时,用逗号分隔。一旦设置,调用时必须赋值
参数传递机制:为参数创建副本后传入函数——传入的是形式参数,不改变实际参数
返回值:可以是有值的变量或者表达式。既可赋值给变量,也可直接用作另一函数的参数
def my_max(x,y):
return x if x > y else y
为函数提供文档
把def之后,执行语句之前的字符串,会自动成为该函数的说明文档
调用方法:help();函数的__doc__属性
>>> def test():
'说明文档'
pass
>>> help(test)
Help on function test in module __main__:
test()
说明文档
>>> def test():
'说明文档'
pass
>>> test.__doc__
'说明文档'
多个返回值的处理与接收
Python会自动将返回值处理成元组。接收时,可以用多个变量接收返回值(序列解包功能)
>>> def test():
return 1,2
>>> test()
(1, 2)
>>> a,b = test()
>>> print(a,b)
1 2
递归函数
在函数中调用其自身,要有递归出口。
以下例子为累加程序,递归出口为【n==0】,【test(n - 1)】为调用自身
>>> def test(n):
if n == 0: return n