天天看点

ostream作为函数返回值_python函数之四高阶函数、闭包、装饰器,理解不难吧一、高阶函数:分为自定义高阶函数和内置高阶函数二、闭包函数:必须满足以下三点三、装饰器:把函数名作为参数传递的闭包函数。

一、高阶函数:分为自定义高阶函数和内置高阶函数

  • 1--函数名可以作为参数输入;
  • 2--函数名可以作为返回值;

1、自定义高阶函数

ostream作为函数返回值_python函数之四高阶函数、闭包、装饰器,理解不难吧一、高阶函数:分为自定义高阶函数和内置高阶函数二、闭包函数:必须满足以下三点三、装饰器:把函数名作为参数传递的闭包函数。

2、内置高阶函数

比较常用的内置高阶函数:sorted、map、filter等

以前文章讲过,详细了解请点击 【万能排序sorted】 和 【对序列做处理mapfilter】

二、闭包函数:必须满足以下三点

  • 1--是嵌套函数(在函数中定义另一个函数)
  • 2--内部函数引用了外部函数中的变量
  • 3--外部函数返回值是内部函数

1、不传参数的闭包函数

闭包模板一:不传参数

ostream作为函数返回值_python函数之四高阶函数、闭包、装饰器,理解不难吧一、高阶函数:分为自定义高阶函数和内置高阶函数二、闭包函数:必须满足以下三点三、装饰器:把函数名作为参数传递的闭包函数。

2、传一般参数的闭包函数

闭包模板二:传参数1(非函数做参数)

ostream作为函数返回值_python函数之四高阶函数、闭包、装饰器,理解不难吧一、高阶函数:分为自定义高阶函数和内置高阶函数二、闭包函数:必须满足以下三点三、装饰器:把函数名作为参数传递的闭包函数。

3、传函数名参数的闭包函数(装饰器)

闭包模板三:传参数2(函数名做参数,就是装饰器)

ostream作为函数返回值_python函数之四高阶函数、闭包、装饰器,理解不难吧一、高阶函数:分为自定义高阶函数和内置高阶函数二、闭包函数:必须满足以下三点三、装饰器:把函数名作为参数传递的闭包函数。

三、装饰器:把函数名作为参数传递的闭包函数。

另一种解释:高阶函数是把函数作为参数传递,所以装饰器可以理解为高阶函数和闭包的结合。

  • 1--作用:添加额外的功能(有些函数是不能随便改的;很多函数需要增加相同的功能)。
  • 2--使用:@装饰器

从最简单模板到最全模板讲解

1、装饰器模板样式一(装饰器无参数,被装饰函数无参数、无返回值)

ostream作为函数返回值_python函数之四高阶函数、闭包、装饰器,理解不难吧一、高阶函数:分为自定义高阶函数和内置高阶函数二、闭包函数:必须满足以下三点三、装饰器:把函数名作为参数传递的闭包函数。

2、装饰器模板样式二(装饰器无参数,被装饰函数有参数、无返回值)

ostream作为函数返回值_python函数之四高阶函数、闭包、装饰器,理解不难吧一、高阶函数:分为自定义高阶函数和内置高阶函数二、闭包函数:必须满足以下三点三、装饰器:把函数名作为参数传递的闭包函数。

3、装饰器模板样式三(装饰器无参数,被装饰函数通用参数、无返回值)

ostream作为函数返回值_python函数之四高阶函数、闭包、装饰器,理解不难吧一、高阶函数:分为自定义高阶函数和内置高阶函数二、闭包函数:必须满足以下三点三、装饰器:把函数名作为参数传递的闭包函数。

4、装饰器模板样式四--最通用可以装饰任何函数(装饰器无参数,通用被装饰函数)

ostream作为函数返回值_python函数之四高阶函数、闭包、装饰器,理解不难吧一、高阶函数:分为自定义高阶函数和内置高阶函数二、闭包函数:必须满足以下三点三、装饰器:把函数名作为参数传递的闭包函数。

5、装饰器模板样式五(装饰器有参数,被装饰函数无参数)

ostream作为函数返回值_python函数之四高阶函数、闭包、装饰器,理解不难吧一、高阶函数:分为自定义高阶函数和内置高阶函数二、闭包函数:必须满足以下三点三、装饰器:把函数名作为参数传递的闭包函数。

6、装饰器模板样式六(装饰器有参数,被装饰函数有参数)

ostream作为函数返回值_python函数之四高阶函数、闭包、装饰器,理解不难吧一、高阶函数:分为自定义高阶函数和内置高阶函数二、闭包函数:必须满足以下三点三、装饰器:把函数名作为参数传递的闭包函数。

7、装饰器模板样式七--最通用可以装饰任何函数(装饰器有参数,通用被装饰函数)

ostream作为函数返回值_python函数之四高阶函数、闭包、装饰器,理解不难吧一、高阶函数:分为自定义高阶函数和内置高阶函数二、闭包函数:必须满足以下三点三、装饰器:把函数名作为参数传递的闭包函数。

下篇文章再讲解一下,装饰器类的实现。

如果你喜欢,请点赞、关注或转发哦!感谢支持!