zoukankan      html  css  js  c++  java
  • Python 知识要点:迭代器

    迭代器是一个可以记住遍历的位置的对象。

    迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

    iter() 函数用来生成迭代器,它主要映射到了类里面的__iter__函数,此函数返回的是一个实现了__next__的对象。

    可迭代对象(Iterable)并不是指某种具体的数据类型,它是指存储了元素的一个容器对象,且容器中的元素可以通过__iter__( )方法或__getitem__( )方法访问。

    迭代器(当然也是Iterable),同时实现了__iter__和__next__的对象,缺少任何一个都不算是Iterator。

    from collections.abc import *
    
    
    class MyRange:
        def __init__(self, n):
            self.o = n
            m = len(n)
            self.i = 0
            self.n = m
    
        def __iter__(self):
            return self
    
        def __next__(self):
            if self.i < self.n:
                ii = self.i
                self.i += 1
                return self.o[ii]
            else:
                raise StopIteration()
    
    
    x = MyRange("dong_ch_eng")
    
    # 如果对象的类型与参数二的类型相同则返回 True,否则返回 False。
    print(isinstance(x, Iterable))
    print(isinstance(x, Iterator))
    print(isinstance("dong_ch_eng", Iterable))
    print(isinstance("dong_ch_eng", Iterator))
    
    
    print("x.next():", x.__next__())
    
    for i in x:
        print(i)
    从现在开始,种下梦想中的参天大树
  • 相关阅读:
    Request的方法演示
    Request内置对象
    Servlet运行机制
    Servlet生命周期
    Servlet概念与配置
    http协议
    数据库连接池
    代码管理git托管到码云(github)开源中国
    事务
    类的执行先后顺序
  • 原文地址:https://www.cnblogs.com/dc2019/p/13200613.html
Copyright © 2011-2022 走看看