https://stackoverflow.com/questions/480178
题
我知道@staticmethod,@classmethod,和@property的,而只能通过散射文档。什么是内建在Python中的所有功能,装饰?那是在文档?有没有什么地方保持向上最新名单?
@staticmethod
@classmethod
@property
解决方案
我不这么认为。装修不普通的函数不同,你只叫他们在华丽的方式。
有关发现他们都尝试搜索内置功能列表中,因为当你可以在 Python的词汇装饰语法只是一个语法糖,如下面的两个定义创建等于函数(复制从词汇表本示例):
def f(...): ... f = staticmethod(f) @staticmethod def f(...):
因此,任何内置函数,返回另一功能可以作为一个装饰。问题是 - 是否有意义使用这种方式? : - )
functools 模块包含可以用作装饰一些功能,但它们AREN”牛逼的内置插件,你提出的要求。
其他提示
他们没有内置,但例如装饰的这个库是非常好的
作为Abgan 说时,该内置在功能列表可能是最好看的地方。虽然,由于装饰也可以作为类来实现,它不能保证完整。
装饰甚至不要求返回的功能。我以前用过@atexit.register。
@atexit.register
有没有这样的事情,因为所有的装饰的列表。有没有的所有功能列表。有没有所有类的列表。
装饰是用于定义整个函数,方法,或类的共同方面的方便的工具。有内置的装饰。再加上有任意数量的冷静和无用的装饰的。以同样的方式有任何数量的冷静和无用的课程。