总结Python中函数相关的知识及用法。
1. 函数定义
def func(args1, args2):
2. 匿名函数lambda
lambda args:expression
其中参数args与普通函数的语法一样,expression的值就是匿名函数调用时的返回值。如定义一个加法函数:
lambda_add = lambda x, y: x + y
3. 闭包函数:一类特殊的函数,即将一个函数定义在另一个函数的作用域中,并在内部函数中引用外部函数的局部变量,那么这个函数就是一个闭包。
def func1():
n = 1
def func2():
print(n)
func2()
n = 'x'
print(n) >>> 'x'
这就是一个闭包函数的结构,类似于普通函数和模块中定义的全局变量的关系:修改外部变量能影响内部作用域中的值,而在内部作用域中定义同名变量则将遮蔽外部变量。
如果需要在函数中修改全局变量,可以使用关键字global来修饰变量名。Python3中关键字nonlocal可以做到这一点。
def func1():
n = 1
def func2():
nonlocal n
n = 'x'
print(n)
func2() >>> 1 'x' # 最终将打印出的结果
4. 部分内建函数
a) reduce(function, iterable[, initializer])
b) map(function, iterable)
c) filter(function, iterable): 过滤出iterable中所有元素作为参数的function返回为True时的元素。
d) zip(iterable1,iterable2...): 返回一个列表,将每个元素组成一个元组,元组作为列表的元素返回。
Python中还有许多内建函数以及普通函数的使用方法,在此不一一介绍,在代码实战中多多练习。