跟着太白老师学python day11 可迭代对象和迭代器
如果对象的属性中有__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 可迭代对象和迭代器相关推荐
- 跟着太白老师学python 09day 初识函数
函数的最主要的目的:封装一个功能 函数的优点: 减少代码的复用率, 增加代码的阅读性 def my_len(arvg): # arvg 形参 my_len函数名,应该具有代表性,让你一看就明白# 函数 ...
- 跟着太白老师学python day10 函数嵌套, global , nonlocal
函数嵌套: 第一种嵌套方法 def func():count = 123def inner():print(count)inner() func() 第二种嵌套方法 count = 123 def f ...
- 【Python】可迭代对象与迭代器
可迭代对象(Iterable) 可迭代对象:可以实现iter方法,可以用for-in-进行遍历的对象 可以通过调用python内置对象函数isinstance()来判断一个对象是否属于可迭代对象 &g ...
- python中可迭代对象,迭代器,生成器,协程
可迭代对象 创建对象的类中有__iter__方法. 它就是可迭代对象. 所谓的可迭代对象,就是可以被遍历的对象. 如果希望遍历能够获取到值,需要让这个__iter__方法返回一个迭代器对象 迭代器 创 ...
- 跟着王进老师学Python:通过案例学条件选择-王进-专题视频课程
跟着王进老师学Python:通过案例学条件选择-55人已学习 课程介绍 未来2年,拥有这种技能的人抢手 2017年是人工智能(AI)的元年,AI已经成为当前火热的前沿技术:而Pytho ...
- 跟着王进老师学Python:初识Python-王进-专题视频课程
跟着王进老师学Python:初识Python-165人已学习 课程介绍 2017年是人工智能(AI)的元年,AI已经成为当前火热的前沿技术:而Python也在去年正式被纳入高考,要加强 ...
- AP微积分与其跟着学校倒不如先跟着林老师学一一遍----美高学生如何说
AP计算机 AP微积分 A Level计算机 IGCSE计算机 支持远程现场互动教学 wechat:APFlying 13242019966 由于今年疫情原因,我们学校开设了网课.我是上了半个学期的网 ...
- 跟李宁老师学Python视频教程(1):初识Python-李宁-专题视频课程
跟李宁老师学Python视频教程(1):初识Python-1142人已学习 课程介绍 本系列课程一共20套,每一套视频课程会深入讲解Python的一类知识点.Python是当今炙手可热 ...
- 跟着官网学Python(8):输入输出
"Python输入.输出.文件读写以及异常知识." 01 面临问题 继续跟着官网学Python,第7章输入输出. 前面已经基本学完Python的语法部分,也学会如何使用轮子,但是编 ...
最新文章
- python正确的变量名称_Python基础之变量的命名
- opencv--车牌识别
- SQL提交数据三种类型
- 使用firefox遇到的问题
- 完全数--Python
- 定理在数学中的简写形式_湘教版八年级数学上册知识点总结
- Unity3d 通过协程来实现文件的全部加载后执行
- html语言中 头元素的标记是,HTML元信息标记
- 1g的树莓派4b能做什么_树莓派4B系统安装及配置
- Leetcode 372.超级次方
- 保护MySQL数据仓库的5个小技巧
- 2022年GPS广播星历精密星历如何下载
- 胶东机场t1离哪个停车场近,青岛胶东国际机场停车场攻略
- 微信小程序实现退款,Java版。
- Android 虚拟多开系列二——技术原理
- Jeff Dean三执笔:一文看尽2020年谷歌AI重大突破
- js原生后代选择器_js 后代选择器
- trt-tl10ac01b220_android 7.0_emui 5.1,华为畅享7 plus固件TRT-TL10C01B201_Android 7.0_EMUI 5.1强刷救砖包...
- Java设计模式第一章(软件设计原则)(学习笔记)
- RunLoop解析(视频+原版文字)