什么使python中的事情变得可迭代

发布于 2021-01-29 19:03:49

是什么使Python变得有些可迭代?即。可以用它循环for

我可以在Python中创建一个可迭代的类吗?如果是这样,怎么办?

关注者
0
被浏览
53
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    要使类可迭代,请编写一个__iter__()返回迭代器的方法:

    class MyList(object):
        def __init__(self):
            self.list = [42, 3.1415, "Hello World!"]
        def __iter__(self):
            return iter(self.list)
    
    m = MyList()
    for x in m:
        print(x)
    

    版画

    42
    3.1415
    Hello World!
    

    该示例使用一个列表迭代器,但你也可以写由制作自己的迭代器__iter__()一个发电机或通过返回一个迭代器类来定义的实例__next__()方法。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看