一、返回函数
1. 一个函数可以返回一个计算结果,也可以返回一个函数。
2. 返回一个函数时,牢记该函数并未执行,返回函数中不要引用任何可能会变化的变量(例如在返回函数中引用循环变量)。
二、匿名函数
1. 定义:示例:lambda x : x * x
2. 用关键字lambda表示匿名函数;
3. 冒号前的x表示函数参数;
4. 返回值是冒号后表达式的值;
5. 注意匿名函数是一个函数对象。可以作为函数的参数,可以作为函数的返回值,也可以赋值给变量;;
三、装饰器
1. 函数对象有一个__name__属性,可以拿到函数的名字。
2. 定义:
2.1 参数:一个函数参数
2.2 返回:返回一个函数
2.3 应用:在另一个函数定义的上一行,通过@语法调用装饰器函数。相当于called_func = decorator_func(called_func)
四、偏函数
1. 通过functools.partial()函数创建新函数,新函数固定了原函数的部分参数,从而达到调用函数简单的目的。
2. 示例:
2.1 int('123', base = 16) #表示按16进制将字符串'123'转换为整数。
2.2 int16 = functools.partial(int, base = 16)
2.3 int16('123') # 表示按16进制将字符串'123'转换为整数。