一、函数与变量
- 定义函数就是定义变量。凡是变量可以做的,函数名就可以做。
- 可以做赋值操作
- 可以作为容器型数据的元素
- 可以作为实参,传入函数形参列表,即为实参高阶函数
- 可以作为函数返回值,即为返回值高阶函数
二、实参高阶函数
- 系统函数max, min, sort, map,reduce(需要from functools import reduce)
- max(序列型数据, key= 函数),函数的要求是需要一个参数,一个返回值,返回值是进行比较的对象
- min, sort 的用法和max一样
- map(函数,序列1,序列2,。。)函数的参数个数需要和后面的序列个数一致,返回值为一个列表。
- reduce(函数,序列,初始值)函数的要求是有两个参数,一个是指向初始值(后面就指向累计值),一个是指向序列中的元素。返回的是一个值。
三、装饰器
-
方便对函数添加新的功能
-
装饰器 = 实参高阶函数 + 返回值高阶函数 + 糖语法
-
# 一般格式为: def 装饰器名字(需要添加功能的函数): def 添加新功能后的函数(*args, **kwargs): result = 需要添加功能的函数()--运行 return result return 添加新功能后的函数
-
*可以对元组进行打包和解包
-
**可以对字典进行打包和解包