我正在创建一个解析器,我要做的是一个方法,它初始化字典中指定的类的对象,然后调用该类上的方法。对象应该在运行时创建,其他每次调用此方法时创建。这很复杂,我想有些伪代码可以更好地解释:
# some_method places intialized object in some list
dictionary_map = { 'foo': Bar.some_method, 'foo2': Bar2.some_method }
def parse_lines(lines):
for line in lines:
for key in dictionary_map:
if line.startswith(key): # checking if line matches dict value
dictionary_map[key](line)
我知道我可以通过这样的“自我”论证:
^{pr2}$但那不是我想做的。这本词典相当大,有许多类目。我试过这样的方法:
dictionary_map = { 'foo': Bar.some_method(object.__new__(Bar)) }
但从一眼望去,我就知道它不应该是这样的:)
一种方法(如果我理解正确的话)是分别使用包含类和方法的元组:
然后,可以创建类的新实例并调用其方法,如下所示:
^{pr2}$这意味着您可以根据需要对实例执行更多操作。在
相关问题 更多 >
编程相关推荐