Python:使类可迭代

Python:使类可迭代,第1张

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 attrclass Foo(metaclass=metaFoo):    bar = "bar"    baz = 1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5653416.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存