Python学习之旅---类的装饰器

Posted 陈帅帅_大侠

tags:

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

#类的装饰原理,自定义一个高阶函数(把函数当做参数传入,返回值也是相同函数地址)
def foo(bar):
print(bar)
bar.x=1 #操作Name的属性字典
bar.y=2
return bar
@foo #Name=foo(Name)
class Name:
pass

print(Name.__dict__) #输出Name的属性字典

#一切皆对象,函数也有属性字典
@foo
def test():
print(‘test函数‘)
test()
print(test.__dict__)

#执行结果:

<class ‘__main__.Name‘>
{‘__module__‘: ‘__main__‘, ‘__dict__‘: <attribute ‘__dict__‘ of ‘Name‘ objects>, ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘Name‘ objects>, ‘__doc__‘: None, ‘x‘: 1, ‘y‘: 2}
<function test at 0x000002358FEC8EA0>
test函数
{‘x‘: 1, ‘y‘: 2}

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

Python学习之旅---描述符+装饰器应用

Python的学习之旅———函数对象函数嵌套名称空间与作用域装饰器

Python学习之旅 —— 基础篇内置函数装饰器

python学习之-装饰器

python学习之装饰器

Python学习之三大名器-装饰器迭代器生成器