zoukankan      html  css  js  c++  java
  • Python 自己实现可迭代对象

    import time
    from collections import Iterable
    from collections import Iterator
    
    
    class Classmate(object):
        def __init__(self):
            self.names = list()
            self.current_num = 0
    
        def add(self, name):
            self.names.append(name)
    
        def __iter__(self):
            """ 如果想要一个对象称为一个可迭代的对象,即可以使用for,那么必须得实现__iter__方法 """
            return self
    
        def __next__(self):
            if self.current_num < len(self.names):
                ret = self.names[self.current_num]
                self.current_num += 1
                return ret
            else:
                raise StopIteration
    
    
    classmate = Classmate()
    classmate.add("张三")
    classmate.add("李四")
    classmate.add("王五")
    print("判断classmate是否是可以迭代的对象:", isinstance(classmate, Iterable))
    print("判断classmate是否是迭代器:", isinstance(classmate, Iterator))
    for name in classmate:
        print(name)
        time.sleep(1)
  • 相关阅读:
    NIO编程介绍
    伪异步IO
    BIO模型
    Json
    Jquery笔记
    JQuery与Ajax
    jQuery之事件和动画
    JQueryDOM节点操作
    认识Jquery
    javascript之DOM
  • 原文地址:https://www.cnblogs.com/duxie/p/11348987.html
Copyright © 2011-2022 走看看