覆盖列表(对象)

时间:2019-02-16 22:26:03

标签: python-3.x

如何覆盖list(object),其中object是由类定义的对象。你可以做类似的事情

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

如果有人找到了我要寻找的答案的问题,这也会有所帮助。

1 个答案:

答案 0 :(得分:1)

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

class Foo:
    def __iter__(self):
        yield None

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