【发布时间】:2011-07-17 14:41:53
【问题描述】:
我有一个代码可以获取FooBar 中所有函数的列表以及该函数在其参数消息中支持的正则表达式:
functionList = []
def notify(RegExpression):
def _notify(function):
functionList.append((RegExpression, function))
return function
return _notify
class FooBar:
@notify(".*")
def everything(self, message):
pass
@notify("(\w+):.*")
def reply(self, message):
pass
for foo in functionList:
print("%s => %s" % foo)
我想做类似的事情,但将函数列表及其参数作为类变量放入类中。当存在更多像FooBar 这样的类时,它将防止出现问题。每个类都应该有自己的列表。
def notify(RegExpression):
# ???
class FooBar:
functionList = []
@notify(".*")
def everything(self, message):
pass
@notify("(\w+):.*")
def reply(self, message):
pass
for foo in FooBar.functionList:
print("%s => %s" % foo)
notify() 里面放了什么?
【问题讨论】: