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)节省内存空间,迭代器并不会在内存中占用一大块内存,而是随着循环,每次给我一个值。

 

转载于:https://www.cnblogs.com/python-daxiong/p/10267880.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值