本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。
1、注意点
(1)用装饰器装饰的函数或类别的主要应用场景分为直接返回原始函数(类)和嵌套定义的代理函数对象。
(2)如果直接返回园区函数或类别,可以保证修改前后的数据属性一致,获取原始数据的属性信息。
(3)如果包装原函数或类代理函数对象返回,此时数据属性会发生变化,通常适用于调用。
2、实例
#传统的写作方法,每种方法都调用loging方法收集日志,冗余,改起来还麻烦; classTestDecorator: defprint_title(self): logging(); print("hello,我是titlelelo"); defprint_url(self): logging(); print("hello,我是urlllo"); deflogging(): importinspect #inspectttthon内置的python.stack方法可以保留您引用的模块文件信息,以数据的形式返回数据 method_name=inspect.stack()[1][3][3]; print("Logger-info进入方法={}{}".format(method_name)) defmain(): decorator=TestDecorator(); decorator.print_title(); decorator.print_url(); if__name__='__main__': main();
以上是python装饰器管理函数和类别的注意事项,希望对大家有所帮助。更多Python学习指导:python基础教程