1.可迭代对象

在python中, 一切皆对象, 但凡是可以用for循环进行遍历取值的对象都可以称之为可迭代对象, 可迭代对象在程序的一个执行周期中,可以无限轮次的进行循环遍历

2.迭代器

a.一个可迭代对象主要包含两个部分

1)序列    2)迭代器

b.一个可迭代对象通过__iter__()便可以获得一个迭代器, 这个迭代器可以通过for进行循环取值, 迭代器的遍历只可以向前不可以向后(序列),也就是说一个迭代器,遍历取值完以后就会被销毁.

c.迭代器必须实现next()方法, 每调用一次next()方法,就会取出一个数值,当取完值以后,如果继续调用next()方法就会抛出异常, for 内部就实现了next()方法, 并进行了异常的处理

d.可迭代对象是将数据全部保存在内存中, 而使用迭代器, 可以在需要使用时,再进行遍历取值, 节省内存开销

3.生成器

一个生成器就是一个特殊的迭代器,只需要一个yield关键字就可以实现一个生成器, 生成器一定是迭代器,但迭代器不一定是生成器

python 生成器对象_Python 生成器, 迭代器, 可迭代对象的区别相关推荐

  1. python yield用法_Python中迭代器和生成器的区别?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  2. uniapp对象怎么获取值_第65p,关于:生成器、迭代器与迭代对象(上)

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第65篇文章,第三阶段的课程:Python进阶知识:生成器.迭代器与迭代对象. 一.什么是可迭代对象? 迭代是一个重复的过程,迭代每 ...

  3. Python Itertools.chain()用法【将一组迭代对象串联起来,形成一个更大的迭代器】

    它是一个需要一系列可迭代对象并返回一个可迭代对象的函数.它将所有可迭代对象组合在一起,并生成一个可迭代对象作为输出. 场景一:  chain()可以把一组迭代对象串联起来,形成一个更大的迭代器: &g ...

  4. python——常见内置函数、可迭代对象与迭代器对象

    目录 一.常见内置函数 1.abs() 2.all()与any() 3.bin() oct() hex() 4.int() 5.bytes() 6.callable() 7.chr() ord() 8 ...

  5. python生成器推导式的结果是一个什么类似于对象_python 生成器和推导式

    一. 生成器 什么是生成器. 生成器实质就是迭代器. 在python中有三种方式来获取生成器: 1. 通过生成器函数 2. 通过各种推导式来实现生成器 3. 通过数据的转换也可以获取生成器 首先, 我 ...

  6. python迭代器和可迭代对象_python tips:迭代器与可迭代对象

    for循环 1 for i ins:2 print(i) 在上述for循环中,不断地将s中的值赋值给i,然后打印出来.这种只针对s中元素的循环称为对s的迭代,能够迭代的s称为可迭代的. python为 ...

  7. python 生成器 原理_python 生成器和迭代器的原理解析

    一.生成器简介 在python中,生成器是根据某种算法边循环边计算的一种机制.主要就是用于操作大量数据的时候,一般我们会将操作的数据读入内存中处理,可以计算机的内存是比较宝贵的资源,我认为的当要处理的 ...

  8. 玩转Python中迭代器与迭代对象的使用与演示

    0.什么是迭代器(iterator)与迭代对象? 比如:python中的集合数据类型,如 list . tuple . dict . set . str 等,我们可以使用for遍历其中的每个元素,此外 ...

  9. python 生成器原理_python生成器

    基础知识 生成器是python的一个特别特的特性,在许多场合都有重要应用.比如range函数产生的就是一个生成器.其主要的好处就是降低了内存的占用.为什么呢?拿range函数来讲吧,它的目的是生成一系 ...

最新文章

  1. VIM: quickFix窗口的使用
  2. 汇编和python-Python入门你要懂哪些?这篇文章总算讲清楚了
  3. 前端模板引擎Thymeleaf快速入门
  4. CVPR 2019 论文和开源项目合集(Papers with Code)
  5. 基础-快速排序(基本)
  6. 项目总结——机房收费系统合作版
  7. 11届蓝桥杯青少年组C++全国赛高级组 六.编程实现:求阶乘(python3实现)
  8. 复选框与文字无法对齐问题
  9. Redis--位图BitMap
  10. 解决NTLDR is missing,系统无法启动的方法
  11. RESTful Web Service - JAX-RS Annotations
  12. 容器技术Docker K8s 38 Serverless Kubernetes(ASK)详解-阿里云Serverless容器(ASK)产品介绍
  13. Tomcat发布项目时,浏览器地址栏图标的问题
  14. cAdvisor,prometheus
  15. 哆啦A梦的神奇口袋:帮你打破信息不对称,拒绝被割韭菜
  16. UWB是什么技术,主要的技术特点是什么?
  17. 部分主元法求解线性方程组
  18. android设置主题和自定义主题的方法
  19. 1_ARCGIS DESKTOP和ORACLE建立林业地理信息数据库
  20. 容器与Servlet生命周期

热门文章

  1. Acey.ExcelX4.2版本发布
  2. Linux 统计代码行数
  3. LoadRunner动态连接库函数的调用
  4. 层拖动Drag Div
  5. Link-State协议的PRC计算详解
  6. [导入]PropertyGrid代码示例(Ext1.x)
  7. 通过异常处理错误-2
  8. Atitit.Gui控件and面板----数据库区-mssql 2008 权限 配置 报表查看成员
  9. 网盘中搭建git服务
  10. asp.net常用正则表达式