1. 匿名函数
- lambda 函数表达式专门用来创建一些简单的函数,它是函数的另一种创建方式
- 语法 (lambda 参数列表:返回值)(实参),lambda argument_list: expression
2. 高阶函数
- 接受函数为参数,或者将函数作为返回值返回的函数就是高阶函数,当我们使用一个函数作为参数时,实际上就是将一段代码传递到目标函数
- filter() 可以从序列中过滤出符合条件的元素,保存到一个新的序列中
- 参数一,函数 根据该函数过滤序列
- 参数二,需要过滤的序列
- 返回值,过滤后的新序列
- 闭包
- 将函数作为返回值返回
- 闭包可以将一些私有的数据藏到闭包中
- 形成闭包的条件:1.函数嵌套 2.将内部函数作为返回值返回 3.内部函数要使用外部函数的变量
- 装饰器
- 装饰器的引入
- 我们可以修改函数中的代码来完成各种需求,但是会产生一些问题
- 1.如果修改的函数过多,修改起来比较麻烦
- 2.不方便以后的维护
- 3.这样会违反开闭原则(opc),程序的设计要求开发对程序的拓展,要求关闭对程序的修改
- 不希望修改原函数,但是又要对原函数就行扩展
- 我们可以修改函数中的代码来完成各种需求,但是会产生一些问题
- 装饰器的使用
- 在开发中我们都是通过装饰器对函数的功能进行扩展,通过装饰器可以在不改变原来函数的情况下对函数进行扩展,在开发中都是通过装饰器来扩展函数功能
- (*args,**kwargs)接受所有位置参数和关键字参数
- @装饰器函数名
函数
可以使用装饰器
- 装饰器的引入