【发布时间】:2010-09-27 14:46:32
【问题描述】:
这是 TurboGears 1.0.6 中的一段代码:
[dispatch.generic(MultiorderGenericFunction)]
def run_with_transaction(func, *args, **kw):
pass
我不知道在函数定义之前放置一个列表会如何影响它。
在 dispatch.generic 的文档字符串中,它提到:
请注意,在使用较旧的 Python 版本时,您必须使用 '[dispatch.generic()]' 而不是 '@dispatch.generic()'。
好的,所以它显然是一种在 Python 的预装饰器版本中获得类似装饰器的行为的方法,但它到底是如何工作的呢?
【问题讨论】: