我如何使用'@'自己的功能,如'@staticmethod'

zjm*_*126 0 python decorator

接下来是我的代码,它可以打印'xxx',但最后运行错误:

def a(object):
    print 'xxx'

@a
def b():
    return 'bbb'
b()
Run Code Online (Sandbox Code Playgroud)

在你的答案中,请尝试使用代码示例而不是文本,因为我的英语不是很好.谢谢.

Ale*_*lli 5

装饰形式@a意味着:

@a
def b...
Run Code Online (Sandbox Code Playgroud)

与以下内容完全相同:

def b...

b = a(b)
Run Code Online (Sandbox Code Playgroud)

因此,写a高阶函数,AKA HOF:具体来说,是一个以函数对象作为参数的函数,并返回一个函数对象.

您给NO在你对问题的想法是什么 a是应该DO,你真的使得它不可能给一个代码示例,使任何任何意义:良好的英语还是不行,你真的污染SO,无助于它,通过你的问题,因为你从来没有解释你想要在你的代码中完成什么!