__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) ''' __next__和__iter__实现迭代器协议 简单示范 __module__和__class__ __module__ 表示当前操作的对象在那个模块 __ ...
分类:
编程语言 时间:
2017-04-25 16:52:20
阅读次数:
206
一 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法) 3.协议是一种约 ...
分类:
其他好文 时间:
2017-04-23 16:46:40
阅读次数:
138
在前面讲迭代器和生成器原理的时候,就已经说过__iter__方法和__next__方法的作用了,在这里就不做重复描述了。在这补一个实现迭代器协议的例子。例1:(在没有抛出StopIteration这个异常之前,这个迭代器会无限的生成值)classc1:def__init__(self,start):self.start=startdef_..
分类:
编程语言 时间:
2017-04-23 13:20:13
阅读次数:
148
一、什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法) 3.协议是一种约 ...
分类:
编程语言 时间:
2017-04-12 16:53:14
阅读次数:
302
1,迭代器协议: 1.1 迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 1.2. 可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法) 1.3. ...
分类:
编程语言 时间:
2017-04-12 04:06:38
阅读次数:
267
一 递归和迭代 略 二 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法 ...
分类:
编程语言 时间:
2017-04-09 18:10:44
阅读次数:
364
在python中,list,string,dict都是可迭代对象,可以通过for语句遍历. 迭代器 迭代器对象要求支持迭代器协议的对象,在python中,支持迭代器协议就算实现对象的__iter__()和next()方法.其中__iter__()方法返回迭代器对象本身; next()方法返回容器的下 ...
分类:
编程语言 时间:
2017-03-30 00:32:52
阅读次数:
224
相关概念: 迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代(只能往后走不能往前退)。 可迭代对象:实现了迭代器协议的对象(对象内部定义一个__iter__()方法)。 ...
分类:
其他好文 时间:
2016-12-29 20:18:47
阅读次数:
165
1.迭代器协议是指:对象需要提供next方法,它要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 2.迭代器返回的是自身,一直重复next()的方法 3.知乎上一个人说的很好,非要类比的话,赌场发牌的荷官算是一个比较接近的例子。本来你需要自己去处理一堆牌(一个 col ...
分类:
编程语言 时间:
2016-12-10 22:47:04
阅读次数:
208
一.什么是迭代器协议 1,迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么引起一个Stopiteration异常, 以终止迭代(只能往后走,不能往前退) 2,可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法) 3,协议是一种约 ...
分类:
其他好文 时间:
2016-12-06 02:57:01
阅读次数:
136