首页 > 解决方案 > 覆盖列表(对象)

问题描述

你如何覆盖一个由类定义的对象list(object)object你能做类似的事情吗

class foo:
    def __list__(self):
        return [None] # In my real code I want it to return a object

如果有人找到我正在寻找的答案的问题,这也会很有帮助。

标签: python-3.x

解决方案


您可以定义__iter__方法以使您的对象可迭代。list然后可以根据生成的迭代器创建结果。您还可以使用yield生成器语法:

class Foo:
    def __iter__(self):
        yield None

print(list(Foo())) # prints [None]

推荐阅读