# Auther: Aaron Fan

# 可以直接作用于for循环的对象统称为可迭代对象:Iterable# 可以使用isinstance()判断一个对象是否是Iterable对象:"""from collections import Iterableisinstance([],Iterable)True

isinstance({},Iterable)True

isinstance('abc',Iterable)True

isinstance(( x for x in range(10) ),Iterable)True

isinstance(100,Iterable)False"""

"""# 而生成器不但可以被用作于for循环,还可以被next()函数不断调用并返回下一个值,# 直到最后跑出StopIteration错误表示无法继续返回下一个值了。

# *可以被next()函数调用并不断返回下一个值的对象成为迭代器:Iterator# 可以使用isinstance()判断一个对象是否是Iterator对象:from collections import Iteratorisinstance([],Iterator)False

isinstance({},Iterator)False

isinstance('abc',Iterator)False

isinstance(( x for x in range(10) ),Iterator)True

isinstance(100,Iterator)False

生成器都是Iterator对象,但是list、dict、str虽然是Iterable,却不是Iterator把list、dict、str等Iterable变成Iterator可以使用iter()函数:

from collections import Iteratora = [1,2,3]print(isinstance(a,Iterator))a = iter(a)print(isinstance(a,Iterator))print(a)for i in a:    print(i)"""

# python的for循环本质上就是通过不断调用next()函数实现的,例如:for x in [1,2,3,4,5]:    print(x)

print("----------------------")# 实际上完全等价于:#首先获得Iterator对象:it = iter([1,2,3,4,5])#循环while True:    try:        #获得下一个值:        x = it.__next__()        print(x)    except StopIteration:        #遇到StopIteration就退出循环        break

转载于:https://www.cnblogs.com/AaronFan/p/6161159.html

python3--迭代器相关推荐

  1. Python3 迭代器与生成器

    迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...

  2. Python3迭代器和生成器

    迭代器 迭代是Python最强大的功能之一,是访问元素集合的一种方法. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束,迭代器只能向前不会后退 ...

  3. python3迭代器和可迭代对象,Python3学习(8)--迭代,可迭代的和迭代器

    开始本篇之前,我们先来了解几个单词 迭代:iteration 可迭代的:Iterable 迭代器:iterator 从单词我们可以看出来差异,可迭代的一看就是状态词,我们不做多说,下面会再讲,而我们发 ...

  4. python3 迭代器实现斐波那契数列

    # 先写个迭代器文件 iterator.pyclass Fib:def __init__(self):self.n1 = 0self.n2 = 1def __next__(self):self.n1, ...

  5. python3菜鸟-Python3 迭代器与生成器

    如教程所说,迭代器和生成器算是 Python 一大特色,其核心是基于迭代器协议来的. 而平时我们经常使用的 for in 循环体,本质就是迭代器协议的一大应用. 同时 Python 内置的集合类型(字 ...

  6. python3迭代器和可迭代对象_一文读懂 Python3 可迭代对象、迭代器、生成器区别...

    笔者学习Python已有一段时间,一直以为对于可迭代对象(iterable).迭代器(iterator).生成器(generator)有一定理解了,直到看到<流畅的python>中的讲解才 ...

  7. python3迭代器是什么,python3 迭代器

    1. 想要了解 迭代器 ,需要先 知道什么是 可迭代对象. 简单点说,可以直接作用于for循环的对象,称之为可迭代对象(Iterable). 1.png 可迭代对象,一定实现了__iter__方法.i ...

  8. 云计算开发学习笔记:Python3迭代器与生成器

    迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...

  9. python3 迭代器(自定义迭代器)

    1.迭代器1.什么是迭代器?1.迭代器是用于迭代数据的-记录每次访问的数据,以及返回下一个数据-迭代器通过__next__方法取得下一个指向的值2.迭代器也称迭代对象,迭代对象指可以通过for .. ...

  10. python3 迭代器、生成器、装饰器、数据序列化

    本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式迭代器&生成器 列表生成式 孩子我现在有个需求看 ...

最新文章

  1. Java基础笔记(入门,语法基础,流程控制,数组)
  2. 求求你把输入法调小一点... | 今日最佳
  3. 实践分享丨构建云上私有池(虚拟IDC)的5种方案详解
  4. 使用gdb调试运行时的程序小技巧 -转
  5. linux 日志优化,Linux —— 日志管理和优化方式
  6. PowerDesigner一些小技巧
  7. B站后台源码疑似泄露,作为程序员我们得注意哪些?
  8. 【python技能树】python编码规范
  9. PuTTY/PuttyGen介绍
  10. EEG时频分析介绍与实现
  11. 【出国面试】出国 交换 / 访学 / 留学 国外导师面试经验分享
  12. Java中的Collections.sort()
  13. silverlight ajax调用,基于RIA的AJAX和Silverlight研究与应用
  14. android 系统输入法显示与隐藏监听
  15. 汇编实验:屏幕窗口程序
  16. puts()和gets()
  17. [程序设计]前端Web页面使用原生JavaScript实现校验身份证号码在算法层面是否合法
  18. Nanopore牛津纳米孔测16S学习笔记
  19. 优秀工程师应该具备哪些素质_想成为一名合格的技术工程师需要具备哪些能力?...
  20. 初学用python写爬虫, 这里分享给大家一段爬取百度贴吧的代码(用面向对象的思想写的),请各位大佬们指点迷津

热门文章

  1. linux安全基线检查,CentOS Linux 7安全基线检查
  2. keras embedding层_初识TextCNN及keras实现
  3. 清空div中的内容而不刷新整个页面_Vue中的$nextTick机制
  4. Linux学习笔记---使用MfgTool工具烧写官方系统(一)
  5. C语言学习笔记----sizeof()的使用
  6. HDU-一个人的旅行(最短路)
  7. 【FPN车辆目标检测】数据集获取以及Windows7+TensorFlow+Faster-RCNN+FPN代码环境配置和运行过程实测
  8. 【数据结构算法】二:上三角、下三角中求数组地址--【下标的计算】
  9. 驱动中的资源共享和临界代码保护
  10. Tensorflow 卷积神经网络 (二)