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

Python:使类可迭代

Python:使类可迭代

__iter__而不是类本身添加元类中(假设Python 2.x):

class Foo(object):
    bar = "bar"
    baz = 1
    class __Metaclass__(type):
        def __iter__(self):
            for attr in dir(self):
                if not attr.startswith("__"):
                    yield attr

对于Python 3.x,请使用

class MetaFoo(type):
    def __iter__(self):
        for attr in dir(self):
            if not attr.startswith("__"):
                yield attr

class Foo(Metaclass=MetaFoo):
    bar = "bar"
    baz = 1
python 2022/1/1 18:39:10 有268人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

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

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

请先登录

推荐问题


联系我
置顶