0
我可以在修饰器中引用装饰对象的名称吗?例如,指的是修饰器内装饰函数的名称
def add_debug_info(func):
# how to write magic_function?
name = magic_function(func)
# name is 'execute' when applied as
# @add_debug_info
# def execute():
我想打印出incude这个名字,因为我身边掠过更高层次的功能调试语句,很难说哪个功能调试语句引用。
我只知道one approach去的对象的名称,但它不能在这里工作很好(多个名称可参照的对象,但我想这事被装饰一个特定的名字) 。
您可以使用'func .__ name__'或'func.func_name'我相信... – mgilson
@mgilson:'__name__'是目前的首选拼写,因为它不仅仅是函数。 –
@MartijnPieters - 我知道有人喜欢,但我不记得是哪一个。因此,这就是为什么我没有发布答案 - 希望我会记得这一次:) – mgilson