选用一个可迭代的列表对象实验:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | >>> i=[1,2,3,4]>>> for t in i:
 print t
 
 1
 2
 3
 4
 
 >>> i.__iter__
 <method-wrapper '__iter__' of list object at 0x04040378>
 >>> i.__iter__()
 <listiterator object at 0x040561F0>
 
 | 
从上面的代码可知:
	可迭代对象实现了__iter__方法或一个实现了__iter__方法的对象是可迭代的(iterable);
	可迭代对象调用__iter__方法会返回一个迭代器(iterator)
接下来继续实验:
	书中说到,所谓的迭代器就是具有next()方法的对象,调用next()方法会返回该对象的下一个值,如果该方法被调用,但是迭代器没有值可以返回,就会引发一个StopIteration异常.
| 12
 3
 4
 5
 6
 7
 8
 
 | >>> i.__iter__().next()1
 >>> i.__iter__().next()
 1
 >>> i.__iter__().next()
 1
 >>> i.__iter__().next()
 1
 
 | 
并没有按照我的想法打印出1,2,3,4.
尝试下面的代码:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 | ite=i.__iter__()>>> ite
 <listiterator object at 0x040564F0>
 >>>ite.next()
 1
 >>> ite.next()
 2
 >>> ite.next()
 3
 >>> ite.next()
 4
 >>> ite.next()
 
 Traceback (most recent call last):
 File "<pyshell#23>", line 1, in <module>
 ite.next()
 StopIteration
 
 | 
原因还没想到啊…