Python之路-装饰器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之路-装饰器相关的知识,希望对你有一定的参考价值。

一.装饰器前置知识要点

      1.名称空间

         存放名字与变量绑定关系的地方

         名称空间的分类:

          内置名称空间:Python解释器启动时,存放自带的名字的地方。(比如内置函数)

          全局名称空间:在执行文件时,文件级别名字存放的地方

           局部名称空间:在执行文件过程中,如果调用函数,用来存放函数内定名称的地方,调用时生效,调用结束后失效

           加载顺序:内置--------》全局----------》局部

           查找顺序:局部--------》全局----------》内置

       2.作用域

          作用域:作用的范围

           (1).全局作用域(globals())

                  全局存活,全局有效

            (2).局部作用域(locals())

                   临时存活,局部有效

            注意点:1.作用域关系,函数定义时已经确定,与函数调用位置无关,在调用函数是回到原来定义函数

                              的位置去找作用域关系。

       3.闭包函数

          定义:定义在内部的函数,包含对外部作用域的引用,而不是对全局作用域的引用,该函数就是闭包函数

          技术分享

二.装饰器  

     装饰器目的:遵循原则的前提下,为其他函数添加新功能

     装饰器遵循的原则:1.不修改被装饰对象的源代码 2.不修改被调用对象的调用方式

     无参装饰器例:

     技术分享

       有参函数例:

       技术分享

 

        

                    

以上是关于Python之路-装饰器的主要内容,如果未能解决你的问题,请参考以下文章

python之路--装饰器

python之路---15 装饰器

Python之路-装饰器

python之路--装饰器函数

Python之路第七篇:Python装饰器

Python之路-装饰器