python中装饰器的常用构造是
@decorator
def function(x):
<code here>
相当于
def function(x):
<code here>
function = decorator(function)
(至少,这是我的理解。)现在假设我们有一个函数mystery_func
我们没有自己定义,但我们仍然想用decorator
装饰。我们可以吗
@decorator
mystery_func
或者我们必须做什么
mystery_func = decorator(mystery_func)
获得与
相同的效果@decorator
def mystery_func(args):
<code here>
答案 0 :(得分:1)
答案是否定的,@
语法不能与任意行一起使用,您需要使用mystery_func = decorator(mystery_func)
。使用@
这样的SyntaxError
语法是df.iloc[:0] # Give me all the rows at column position 0
。
答案 1 :(得分:0)
您还可以使用class decorators,这是&#34;除了&#34;之外的其他内容:
例如
@foo
@bar
class A:
pass
但你在这里提到的是什么:
@decorator
mystery_func
是SyntaxError