Python 类内置函数__next__()用法记录

功能

__next__()函数定义迭代对象某变量。

通过使用__next__()函数定义对象的迭代,可以更加灵活地控制迭代过程,甚至实现对无穷序列的迭代。同时,还可以结合其他Python内置的迭代功能(如生成器、yield关键字等)来实现更复杂的迭代逻辑。

实例 

class Handler():
    def __init__(self, start):
        self.currentURI = ''  # 当前URI
        self.toVisit = []  # 访问过的

        self.toVisit.append(start)  # 添加URL

    def __next__(self):
        print("获取前: ", self.toVisit)
        self.currentURI = self.toVisit[0]  # 访问
        self.toVisit.remove(self.currentURI)  # 完成后
        return self.currentURI

    def noinit(self):
        if self.toVisit:  # 如果还有URL
            return True  # +1
        return False  # -1

    def add_url(self, url):
        self.toVisit.append(url)


if __name__ == "__main__":
    handler = Handler("http://0.com")
    handler.add_url("http://1.com")
    handler.add_url("http://2.com")

    while handler.noinit():
        print(next(handler))
        print("获取后:", handler.toVisit)

猜你喜欢

转载自blog.csdn.net/u012206617/article/details/132618475
今日推荐