我知道 @staticmethod
、@classmethod
和 @property
,但只是通过零散的文档了解到它们。Python 中还有哪些内置函数装饰器?这些信息是否在文档中呈现?是否有一个维护最新列表的地方?
装饰器甚至不需要返回一个函数。我以前使用过@atexit.register
。
@decor
只是f = decor(f)
的语法糖 - 否则你将失去对你正在装饰的函数的引用。 - Dan Burton@property
дёҚдјҡиҝ”еӣһдёҖдёӘеҮҪж•°пјҢеҜ№еҗ—пјҹ - habnabitf=decor(f)
,函数 decor 需要返回 _something_。如果你想在修饰后调用 f
,它需要是一个函数,否则它可以是任何东西。 - Uncle DinoNone
。无论如何,还有许多非函数可调用对象。 - habnabit并不存在所有装饰器的列表。也没有所有函数的列表。也没有所有类的列表。
装饰器是定义函数、方法或类之间共同特征的便捷工具。有内置的装饰器,还有许多酷炫但没什么用的装饰器。同样地,也有许多酷炫但没什么用的类。
@staticmethod
、@classmethod
、@property
、@wraps
、@timeit
。 - Shital Shah