来简单的说下python中的生成器和可迭代对象以及迭代器的问题.只是简单地记录一下并不涉及太深入的内容. 首先来说一下什么是生成器,先看下面的代码: #_*_ coding:utf-8 _*_ result = (x for x in range(10)) ''' 下面print的打印结果 <generator object <genexpr> at 0x0000026FA092B360> ''' print(result) 上面的这种代码其实就是生成器,而通过print也发现,…
for循环 for i in s: print(i) 在上述for循环中,不断地将s中的值赋值给i,然后打印出来.这种只针对s中元素的循环称为对s的迭代,能够迭代的s称为可迭代的. python为了实现for循环,需要迭代的对象实现迭代协议或序列协议,以获取一个迭代器.下面只讨论迭代协议,即实现一个预定义的方法: __iter__(self):返回一个迭代器 for在对对象进行迭代时,会调用对象的__iter__方法构造一个迭代器,然后对该迭代器进行迭代,迭代过程就是不断调用迭代器的方法获取元素…