我想编写一个Python decorator,它向运行decorator的模块添加一个属性,即
@procedure
def whatever(arg1, arg2):
# do things
return
应该向找到whatever
的模块添加属性attr
。我试着编写decoratorprocedure
(在另一个文件中定义),如下所示
def procedure(fn):
global attr
attr = SomeClass()
return fn
但是attr
被添加到定义了procedure
的模块中,而不是添加到运行procedure
的模块中。还有别的办法吗
假设您想标记一个函数,这样定义它的模块的某些用户将能够知道它属于某类函数。您可以编写一个简单的装饰器,如下所示:
然后您可以编写一个使用此装饰器的模块,如下所示:
然后可由另一个模块使用,如下所示:
上面的代码将导入模块,并列出
special
函数:相关问题 更多 >
编程相关推荐