Python 如何使用'@';我自己的功能就像'@静态法&x27;

Python 如何使用'@';我自己的功能就像'@静态法&x27;,python,decorator,Python,Decorator,下一个是我的代码,它可以打印'xxx',但最后运行错误: def a(object): print 'xxx' @a def b(): return 'bbb' b() 在你的回答中,请尽量使用代码示例而不是文本,因为我的英语不是很好。多谢各位 def a(b): print 'xxx' return b @a def b(): return 'bbb' b() 这与: def a(b): print 'xxx' return b

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

def a(object):
    print 'xxx'

@a
def b():
    return 'bbb'
b()
在你的回答中,请尽量使用代码示例而不是文本,因为我的英语不是很好。多谢各位

def a(b):
    print 'xxx'
    return b

@a
def b():
    return 'bbb'
b()
这与:

def a(b):
    print 'xxx'
    return b


def b():
    return 'bbb'

b = a(b)
b()
def b...

b = a(b)
这与:

def a(b):
    print 'xxx'
    return b


def b():
    return 'bbb'

b = a(b)
b()
def b...

b = a(b)

装饰表
@a
表示:

@a
def b...
与以下内容完全相同:

def a(b):
    print 'xxx'
    return b


def b():
    return 'bbb'

b = a(b)
b()
def b...

b = a(b)
因此,将
a
写为高阶函数,也称为HOF:具体地说,是一个函数,它将函数对象作为参数,并返回函数对象


当你在你的问题中给出关于一个
应该做什么的想法时,你真的不可能给出一个有任何意义的代码示例:好英语与否,你的问题真的污染了它,而不是对它做出贡献,因为你从来没有解释过你想在代码中实现什么

decorator表单
@a
表示:

@a
def b...
与以下内容完全相同:

def a(b):
    print 'xxx'
    return b


def b():
    return 'bbb'

b = a(b)
b()
def b...

b = a(b)
因此,将
a
写为高阶函数,也称为HOF:具体地说,是一个函数,它将函数对象作为参数,并返回函数对象


当你在你的问题中给出关于一个
应该做什么的想法时,你真的不可能给出一个有任何意义的代码示例:好英语与否,你的问题真的污染了它,而不是对它做出贡献,因为你从来没有解释过你想在代码中实现什么

+1尽管我讨厌用所有的大写强调事物(这就是粗体和斜体的意思)。+1尽管我讨厌用所有的大写强调事物(这就是粗体和斜体的意思)。