Python019__迭代器

迭代器

必须有 iter
必须有 next

  • isinstance(对象, 类)
    判断一个对象是不是这个类的实例,返回值是bool类型
class Names(object):
    names = list()

    def __init__(self):
        self.names = list()
        self.curent_num = 0

    def add_name(self, name):
        self.names.append(name)

    def __iter__(self):
        return self

    def __next__(self):
        if self.curent_num < len(self.names):
            name = self.names[self.curent_num]
            self.curent_num += 1
            return name
        else:
            raise StopIteration


def main():
    name = Names()
    name.add_name("张三")
    name.add_name("李四")
    name.add_name("王五")
    name.add_name("溜溜")

    for i in name:
        print(i)


if __name__ == '__main__':
    main()

猜你喜欢

转载自blog.csdn.net/weixin_40639095/article/details/84772480