您现在的位置是:首页 > 文章详情

Python3基础——装饰器

日期:2018-09-19点击:471

1、Python是一种面向对象的编程语言,在Python中所有的都可以是Python的对象。即可以在函数内创建函数——函数也可以是变量!(亦可称之为:内嵌函数)

2、如果内部函数引用了外部函数定义的对象(即某函数调用的是该函数以外定义的对象,但该对象不是全局变量),那么此时内部函数叫做:闭包函数,所引用的外部变量叫:自由变量。

     什么是闭包函数?——函数内部定义函数;并且引用了外部变量但不是全局变量。

3、Python装饰器

      Python装饰器本质上是一个函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器返回的值也是一个函数对象。

     3.1 变量与引用示例:

            154301_mDH1_3821557.png

            结果:161641_ZCaO_3821557.png

     3.2  装饰器示例一:

           161729_eHsB_3821557.png

           运行结果:161756_CIAe_3821557.png

     3.3 装饰器示例二:

          步骤1:执行代码第一行    定义变量为author 的函数srartEnd(即函数srartEnd就是装饰器)

          步骤2:获取变量 author 的值,即author的值为  Jsh

          步骤3:获取到author的值后,执行函数srartEnd

          步骤4:执行函数srartEnd的内容,即定义变量为 fun 的函数a

          步骤5:返回函数a的值

          步骤6:@符号是装饰器的语法糖,在定义函数的时候使用,避免再一次被赋值 

                      即:变量 author的值依旧为 Jsh

          步骤7:定义变量为name的函数b( 即闭包函数 b )

          步骤8:返回函数b的值

          步骤9:@符号是装饰器的语法糖,在定义函数的时候使用,避免再一次被赋值 

                      即:变量 author的值依旧为 Jsh

          步骤10:申明函数 hello 的变量name的值为 Xiaohai 

          步骤11:打印  This author is Jsh

          步骤12:打印  Start

          步骤13:执行变量为name的函数fun    此函数的返回值为函数a 的变量

          步骤14、15:打印函数hello的结果

          步骤16:打印 End 

           171414_4K4q_3821557.png

             运行结果:171428_2vHZ_3821557.png

原文链接:https://yq.aliyun.com/articles/642571
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章