Python的装饰器

2017-06-19  本文已影响6人  傻傻笨笨宝宝

1.需要了解一个函数返回的是一个对象。-----在返回值后加 ( ) 就可以执行对象

2.是在一个函数中是传入的是一个对象。-----然后在函数中执行

1

第三行中,定义一个函数传递一个函数对象作为参数。

第四行中,定义了一个在函数内部的函数,必须返回这个函数或者在外函数中执行。不然没有意义。

第五行中,执行参数对象,

第六行中,执行在装饰器中想执行的代码这里只是演示。

第7行是 aaa()的返回 ,对应的是prints()()的第二个括号,第一个括号是执行第一个返回aaa对象,行8

第13行中 是装饰器 等于什么了 -->     prints = jgl(prints)   #这里传递的参数是一个对象,如果你传递的是prints(),那么prints对象必须要有return ,这样jgl()接受就是参数就是一个prints的返回值。

大体过程是这样的:

@jgl  ---->prints获得一个新的函数 被装饰器装饰过的函数

jgl(prints):

        def aaa():

              prints()

               print(“fasdfda”)

       return aaa

prints()   使用新对象

上一篇 下一篇

猜你喜欢

热点阅读