Python反射

hep*_*tos 4 python reflection

假设我们在内存中有很多对象.每个人都有一个独特的身份.如何迭代内存以查找与某个id进行比较的特定对象?抓住它并通过getattr使用它?

Ned*_*der 10

您应该在类属性中创建这些对象的集合,然后提供用于检索它们的类方法.

有点像:

class Thing(object):
    all = {}

    def __init__(self, id, also, etc):
        self.id = id
        self.all[id] = self

    @classmethod
    def by_id(cls, id):
        return cls.all[id]
Run Code Online (Sandbox Code Playgroud)