可迭代对象和迭代器的区别

Posted fkdby

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可迭代对象和迭代器的区别相关的知识,希望对你有一定的参考价值。

可迭代对象

  • 字面意思:可以进行循环更新的一个实实在在值。

  • 专业角度: 内部含有‘__iter__‘方法的对象,可迭代对象。

  • 判断一个对象是不是可迭代对象: ‘__iter__‘ in dir(对象)

  • str list tuple dict set range

  • 优点:

    1. 存储的数据直接能显示,比较直观。

    2. 拥有的方法比较多,操作方便。

  • 缺点:

    1. 占用内存。

    2. 不能直接通过for循环,不能直接取值(索引,key)。

迭代器

迭代器的定义

  • 字面意思:更新迭代,器:工具:可更新迭代的工具。

  • 专业角度:内部含有‘__iter__‘方法并且含有‘__next__‘方法的对象就是迭代器。

  • 可以判断是否是迭代器:‘__iter__‘ and ‘__next__‘ 在不在dir(对象)

判断一个对象是否是迭代器

  1 with open(‘文件1‘,encoding=‘utf-8‘,mode=‘w‘) as f1:
  2     print((‘__iter__‘ in dir(f1)) and (‘__next__‘ in dir(f1)))
  3 

以上是关于可迭代对象和迭代器的区别的主要内容,如果未能解决你的问题,请参考以下文章

可迭代对象和迭代器的区别

迭代器,生成器

迭代器与装饰器

python迭代器

python的可迭代对象和迭代器

python的可迭代对象和迭代器