存储和引用类方法的 pythonic 方法



我有一个"世界"类,它有几个涉及生成不同类型的特征的类方法,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

最新更新