我有一个“世界”类,它有几种涉及生成不同类型特征的类方法,我想将对这些方法的引用存储在字典中,其中它们是值,键是它们所事物的“类型”在生成河流,城堡,道路或示例时,最Python化的方法是什么?我可以在“ World”类中创建一个字典,但是不确定是否有最好的主意,我当时认为最好将字典存储在“ World”类之外,但是我该如何引用该方法?我可以将这些方法存储为字符串,例如“ generate_site_river”,然后使用attrget()来获取该方法,但是我不确定这是一个好主意,最Python的方法是做什么?
答案 0 :(得分:0)
您可以将对方法本身的引用存储在字典中-而不是字符串。
这是一个例子:
class World(object):
def __init__(self, name):
self._name = name
def create_river(self):
print(f"Created a river in {self._name}")
if __name__ == '__main__':
w = World('Earth')
method_dict = {
'river': w.create_river
}
method_dict.get('river')()
输出:
Created a river in Earth