day06-迭代器

 1 一、迭代器:
 2 
 3 1.可迭代协议:含有__iter__方法。
 4 2.迭代器协议:同时含有__iter__和__next__方法。迭代器是可迭代对象。  iterator迭代器。
 5 3.使用可迭代对象有什么好处?   -->只有是可迭代对象,才可以使用for循环。
 6 4.怎样判断一个变量可以使用for循环?   -->只要判断它是可迭代对象就可以。使用print(dir(变量)) 执行结果有 '__iter__' 或使用
 7                                          print('__iter__' in dir(变量)) 执行结果是True。
 8 5. print('__iter__' in dir(int))
 9   print('__iter__' in dir(bool))
10   print('__iter__' in dir(list))
11   print('__iter__' in dir(dict))
12   print('__iter__' in dir(set))
13   print('__iter__' in dir(tuple))
14   print('__iter__' in dir(enumerate([])))
15   print('__iter__' in dir(range(1)))
16 6.可迭代对象转化为迭代器的方法:可迭代对象.__iter__() 就可以得到一个迭代器。
17 7.迭代器中的__next__()方法可以一个一个取值,且值只能取一次,取完就没有了,取完最后一个,再执行next会报错。
18 8.迭代器的好处:1)可以从容器类型中一个一个取值,所有的值只能取一次。
19                 2)节省内存空间,迭代器并不会在内存中占用一大块内存,而是随着循环,每次给我一个值。

 

posted @ 2019-01-14 17:08  梁劲雄  阅读(132)  评论(0编辑  收藏  举报