好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Python【day 11】迭代器

 迭代器-用    1、迭代器的概念          1、可迭代对象-iterable             str、list、tuple、dict、set、open()、range()         2、可迭代对象的概念:             其数据类型的执行方法中含有__iter__方法的,就是可迭代对象             li1 = [2,3,4]             print(‘__iter__‘ in dir(li1))  #True 说明li1-列表是可迭代对象         3、迭代器的概念--iterator             可迭代对象调用__iter__()方法后,生成的对象就是迭代器             例如:it1 = li1.__iter__() #这里的it1就是迭代器         4、迭代器中的方法__next__()            迭代器每调用一次__next__()方法,就取值一个元素,直到取值到最后一个元素后            再次调用__next__()方法,会报错StopIteration    2、迭代器的特点          1、节约内存         2、惰性(只有调用__next__()方法,才会取值一次)         3、只能往前取值,不能后退    3、迭代器的应用    1、for循环的常规写法             for循环的内部原理是通过迭代器实现的             迭代器给所有的可迭代的数据类型提供了一种统一的遍历方式(可迭代协议)             li1 = [2,3,4]             for i in li1:                 print(i)             else:                 print(‘循环结束了‘)    2、通过迭代器实现for循环--一步步执行__next__()              li1 = [2,3,4]             it1 = li1.__iter__()  #it1就是生成可迭代对象-列表li1的迭代器-iterator             print(it1.__next__()) #2             print(it1.__next__()) #3             print(it1.__next__()) #4             # print(it1.__next__()) #报错 StopIteration    3、通过迭代器实现for循环--通过while循环              li1 = [2,3,4]             it1 = li1.__iter__()  #it1就是生成可迭代对象-列表li1的迭代器-iterator             while 1:                 try:                     print(it1.__iter__())                 except StopIteration:                     print("循环结束了")                     break  #别忘记,这里是跳出整个while循环

查看更多关于Python【day 11】迭代器的详细内容...

  阅读:17次