我在python中有一个类,表示流行病模拟。所以在很多情况下,我有一个“S”,“I”和可能的“R”状态(易感,感染,恢复)。所以我在课堂上得到了一个粗略的方法:
def S(self):
return data['S']
所以我可以用foo.S
访问数据
但也许我在看一些其他的模拟,其中我有其他的状态(假设‘E’也是一个状态(exposed))。我希望能够通过类似的方法自动获取其他数据:foo.E
。我希望能够在不必更改类本身的情况下收集任何特定的状态。你知道吗
所以我在寻找一种方法来修改__init__
的MyClass
,这样我就可以定义
foo = MyClass(status_list = ('S', 'I', 'E', 'R', 'someotherstatus'))
然后我就可以自动访问foo.someotherstatus
。根据我目前的理解,唯一的方法是进入MyClass
的代码并显式定义一个方法someotherstatus
,该方法将返回data['someotherstatus']
。你知道吗
IIUC,尝试使用
setattr
:输出:
也许这会给你一些想法:
相关问题 更多 >
编程相关推荐