我有一个"世界"类,它有几个涉及生成不同类型的特征的类方法,Id 喜欢将这些方法的引用存储在字典中,它们是值,键是它们生成的事物的"类型",河流、城堡或道路或示例,最 Python 的方法是什么?我可以在"世界"类中创建字典,但我不确定将其存储在那里是否是最好的主意,我认为最好将此字典存储在"世界"类之外,但是我如何引用该方法?我可以将方法存储为字符串,例如"generate_site_river",然后使用 attrget(( 获取方法,但我不确定这是一个好主意,最 Python 的事情是什么?
您可以将对方法本身的引用存储在字典中 - 而不是字符串。
下面是一个示例:
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