您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

遍历Python中给定类的对象实例

遍历Python中给定类的对象实例

您可以使用简单的元类使您的类对象可迭代。

class IterRegistry(type):
    def __iter__(cls):
        return iter(cls._registry)

class Person(object):
    __Metaclass__ = IterRegistry
    _registry = []

    def __init__(self, name):
        self._registry.append(self)
        self.name = name

(我也进行了更改__registry_registry以使其更容易从元类访问)。然后,

>>> p = Person('John')
>>> p2 = Person('Mary')
>>> for personobject in Person:
...     print personobject
...
<person.Person object at 0x70410>
<person.Person object at 0x70250>
python 2022/1/1 18:25:46 有171人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶