如果对象的属性中有__iter__属性就说明是可迭代的,容器类的数据类型都是可迭代对象

如果对象的属性中既有__iter__属性也有__next__属性,就说明这个对象是迭代器

如何判断一个函数是不是可迭代的,是不是迭代器

方法一

s = '123'
print('__iter__' in dir(s))  #如果是可迭代内部将存在__iter__属性
f = open('01 今日内容大纲', encoding='utf-8', mode='r')
print('__next__' in dir(f))  #如果是迭代器内置属性有 __iter__ 和 __next__

方法二

from collections.abc import Iterable
from collections.abc import Iterator
print(isinstance(s, Iterable))
print(isinstance(f, Iterator))

可迭代对象转换为迭代器

方法一

s_1 = s.__iter__()

方法二

s_2 = iter(s)

迭代器的取值f.__next__() 每次都只能取一次

可迭代对象不能取值, 迭代器可以取值的

迭代器非常节省空间,内存中只存在一个值

迭代器每次只取一个值

迭代器是单向的,不会反复一路走到黑

迭代器的应用场景:数量大,且只用于取值

运用__next__ 进行取值操作

iter1 = s1.__iter__()
while True:try:print(iter1.__next__())  #一直取值except StopIteration:    #接受读取完后的异常处理break

转载于:https://www.cnblogs.com/my-love-is-python/p/9494034.html

跟着太白老师学python day11 可迭代对象和迭代器相关推荐

  1. 跟着太白老师学python 09day 初识函数

    函数的最主要的目的:封装一个功能 函数的优点: 减少代码的复用率, 增加代码的阅读性 def my_len(arvg): # arvg 形参 my_len函数名,应该具有代表性,让你一看就明白# 函数 ...

  2. 跟着太白老师学python day10 函数嵌套, global , nonlocal

    函数嵌套: 第一种嵌套方法 def func():count = 123def inner():print(count)inner() func() 第二种嵌套方法 count = 123 def f ...

  3. 【Python】可迭代对象与迭代器

    可迭代对象(Iterable) 可迭代对象:可以实现iter方法,可以用for-in-进行遍历的对象 可以通过调用python内置对象函数isinstance()来判断一个对象是否属于可迭代对象 &g ...

  4. python中可迭代对象,迭代器,生成器,协程

    可迭代对象 创建对象的类中有__iter__方法. 它就是可迭代对象. 所谓的可迭代对象,就是可以被遍历的对象. 如果希望遍历能够获取到值,需要让这个__iter__方法返回一个迭代器对象 迭代器 创 ...

  5. 跟着王进老师学Python:通过案例学条件选择-王进-专题视频课程

    跟着王进老师学Python:通过案例学条件选择-55人已学习 课程介绍         未来2年,拥有这种技能的人抢手 2017年是人工智能(AI)的元年,AI已经成为当前火热的前沿技术:而Pytho ...

  6. 跟着王进老师学Python:初识Python-王进-专题视频课程

    跟着王进老师学Python:初识Python-165人已学习 课程介绍         2017年是人工智能(AI)的元年,AI已经成为当前火热的前沿技术:而Python也在去年正式被纳入高考,要加强 ...

  7. AP微积分与其跟着学校倒不如先跟着林老师学一一遍----美高学生如何说

    AP计算机 AP微积分 A Level计算机 IGCSE计算机 支持远程现场互动教学 wechat:APFlying 13242019966 由于今年疫情原因,我们学校开设了网课.我是上了半个学期的网 ...

  8. 跟李宁老师学Python视频教程(1):初识Python-李宁-专题视频课程

    跟李宁老师学Python视频教程(1):初识Python-1142人已学习 课程介绍         本系列课程一共20套,每一套视频课程会深入讲解Python的一类知识点.Python是当今炙手可热 ...

  9. 跟着官网学Python(8):输入输出

    "Python输入.输出.文件读写以及异常知识." 01 面临问题 继续跟着官网学Python,第7章输入输出. 前面已经基本学完Python的语法部分,也学会如何使用轮子,但是编 ...

最新文章

  1. python正确的变量名称_Python基础之变量的命名
  2. opencv--车牌识别
  3. SQL提交数据三种类型
  4. 使用firefox遇到的问题
  5. 完全数--Python
  6. 定理在数学中的简写形式_湘教版八年级数学上册知识点总结
  7. Unity3d 通过协程来实现文件的全部加载后执行
  8. html语言中 头元素的标记是,HTML元信息标记
  9. 1g的树莓派4b能做什么_树莓派4B系统安装及配置
  10. Leetcode 372.超级次方
  11. 保护MySQL数据仓库的5个小技巧
  12. 2022年GPS广播星历精密星历如何下载
  13. 胶东机场t1离哪个停车场近,青岛胶东国际机场停车场攻略
  14. 微信小程序实现退款,Java版。
  15. Android 虚拟多开系列二——技术原理
  16. Jeff Dean三执笔:一文看尽2020年谷歌AI重大突破
  17. js原生后代选择器_js 后代选择器
  18. trt-tl10ac01b220_android 7.0_emui 5.1,华为畅享7 plus固件TRT-TL10C01B201_Android 7.0_EMUI 5.1强刷救砖包...
  19. Java设计模式第一章(软件设计原则)(学习笔记)
  20. RunLoop解析(视频+原版文字)

热门文章

  1. rust 案例_RUST-X气相防锈产品落户中国,助力中国高端制造出口海外
  2. php 强制变为整数,强制PHP整数溢出
  3. 《Head First设计模式》第七章-适配器模式、外观模式
  4. redis session java获取attribute_面试题:给我说说你能想到几种分布式session实现?...
  5. 通过node 完成简单的web3 API调用测试
  6. 中科大 计算机网络15 DNS域名解析系统
  7. 怎样洗头使头发变黑变多
  8. 中医:看脚十秒钟可知身体疾病
  9. 人生致命的八个经典问题
  10. 9件事把你从消极情绪中解救出来