Python教程

python知识:如何自定义装饰器

本文主要是介绍python知识:如何自定义装饰器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、说明

        本文对装饰器做了一个极其简单的解释图例,并用类定义一个装饰器;让读者在5分钟之内永远搞懂装饰器,不迷路。

二、装饰器通俗解释 

我们将单独的函数比喻成一条路径,从A到B; 如图:

 通过定义装饰器,将路径AB内嵌到一个更大程序EF中,使得原路径AB改变成,EABF。这样做的好处是:在调用AB段之前的EA段可以夹带“私货”,在调用AB之后的BF段也可以夹带“私货”。仿佛给程序AB“穿鞋”-“戴帽”进行了某种装饰。

 

 

三、自定义装饰器方法

class myDecorator(object):
    def __init__(self, f):
        print( "inside myDecorator.__init__()" )
        f()                    # Prove that function definition has completed
    def __call__(self):
        print("inside myDecorator.__call__()")

@myDecorator
def aFunction():
    print( "inside aFunction()" )
    print( "Finished decorating aFunction()" )

aFunction()

 结果:

inside myDecorator.__init__()
inside aFunction()
Finished decorating aFunction()
inside myDecorator.__call__()

这篇关于python知识:如何自定义装饰器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!