python可迭代对象怎么理解

什么是可迭代对象?

简单的理解是可以用for循环的对象,就是可迭代对象。比如:list,字符串,dict,元组,生成器等。

具有可迭代的特征。(推荐学习:Python视频教程)

自定义可迭代对象(本质)

语法层面,如果一个对象实现了__iter__方法,那么这个对象就是可迭代对象

判断是否是可迭代对象(Iterable)

通过调用Python内置的isinstance来判断是否是Iterable的实例

In [9]: isinstance([],Iterable)

Out[9]: True

In [10]: isinstance('',Iterable)

Out[10]: True

In [11]: isinstance({},Iterable)

Out[11]: True

In [12]: class MyList(object):

....: def __init__(self):

....: self.list = []

....: def add(self,item):

....: self.list.append(item)

....:

In [13]: mylist = MyList()

In [14]: isinstance(mylist,Iterable)

Out[14]: False

通过上面例子可以看出,Python中的内置类型dict,list,str的对象都是可迭代的,我们自定义了一个类MyList,由于这个类没有实现iter方法,所以这个类的实例不是可迭代对象。

更多Python相关技术文章,请访问Python教程栏目进行学习!

python中可迭代对象是什么意思_python可迭代对象概念讲解相关推荐

  1. python中的数据成员有两类_Python类和对象

    一.概念 1.面向对象(Object Oriented,即OO),是一种设计思想. 2.面向对象编程(Object Oriented Programming,即OOP),可以使软件设计更加灵活,并且能 ...

  2. python迭代对象是什么意思_python的迭代对象

    迭代对象这个概念是python里面非常核心的东西,我想跟大家分享一下,什么是可迭代对象. 比如我们有一个list1=[1,2,3],s='abc' for n in list1: print n fo ...

  3. python的可迭代对象是什么意思_python可迭代对象和迭代器区别

    python内置迭代对象: 字符串,列表,元组,文件,字典 # 字符串迭代 str = "conding make me happy" for c in str: print(c, ...

  4. python中可迭代对象是什么意思_python中可迭代对象是什么

    python中可迭代对象是:存储了元素的一个容器对象,且容器中的元素可以通过"__iter__( )"方法或"__getitem__( )"方法访问.可迭代对象 ...

  5. python中的numpy库有什么优缺点_python中关于numpy库的介绍

    1.Numpy是什么? NumPy(Numerical Python的缩写)是一个开源的Python科学计算库.使用NumPy,就可以很自然地使用数组和矩阵. NumPy包含很多实用的数学函数,涵盖线 ...

  6. python中for语句可以有else部分_Python中的for...else语句可以不写else吗?

    学习过程中遇到这个问题来交流下. 首先我们来看这个循环: for i in range(1,6): for k in range(1,i): print (k,end='')#可以设置end参数为空字 ...

  7. python中不能使用索引运算的是_Python数据分析之Pandas库(笔记)

    Pandas数据结构 pandas有两个基本的数据结构:Series和DataFrame. 1.1 创建Series数据 需要引入pandas模块:import pandas as pd 需要引入Se ...

  8. 在 python中每个模块用什么来实现_Python代码模块热更新机制实现(reload)

    对一个游戏来说,无论是client或server都非常需要一套代码热更新的机制.它能大大提高开发效率,又能超乎玩家期望地在运营期在线修正bug和增添功能.可谓必备机制. 热更新机制的目标是: (1)更 ...

  9. python中列表实现自加减元素_python初学者知识整合

    python 第一章:概述 1. 概述 Python是一门跨平台.开源.免费的解释型高级动态编程语言. ① 编译:笔译,用理解原文本 ② 解释:口译,逐字逐句解释,不产生新文本 Python中的可迭代 ...

最新文章

  1. 导师:顶会论文3天都复现不出来?你退学吧!
  2. 任务队列,消息队列和rpc的区别是什么?
  3. 模拟一下goldengate中断后,重新同步操作
  4. SpringBoot基础系列-SpringCache使用
  5. 阿里云服务器重启出现An error occurred 如何处理
  6. Error-Project facet Java version 1.8 is not supported
  7. python开发飞船游戏
  8. apache-maven仓库配置
  9. a标签增加onclick事件提示未定义function
  10. c语言自动安装软件,VC++(c语言程序下载安装)
  11. 优秀的软件测试简历是什么样的?
  12. 疯壳AI开源无人机SPI(六轴传感器数据获取)
  13. 04 可视化开发工具
  14. TP5.1.18+swoole实现聊天室
  15. 分析与提取QQ木马盗号技术
  16. Java培训后如何找工作?
  17. js大屏导出图片_js将canvas保存成图片并下载
  18. 运维工程师一天的日常都在做什么?
  19. java解决异常_聊聊Java中的异常及处理
  20. 服务器修改盘的盘序,黑群辉改sata控制器识别接口数、硬盘盘序的经验总结

热门文章

  1. 电子邮件客户端:Mail Pilot 3 for Mac
  2. Android中运行免安装app,适用于免安装应用的 CTS
  3. 笔记本(win10、win7)开机在LOGO过后出现闪屏几下才进入系统成功解决问题步骤分享
  4. 微信小程序:用户头像的更改与保存
  5. 网店推广之百度百科推广
  6. 《联众》并购案细节公布,海虹海外公司浮出水面(ZT)
  7. 47 软件工程34h-北京大学孙艳春老师
  8. java ee7教程_JavaEE 7.0 Web技术教程 -解道Jdon
  9. SPDA-CNN:Unifying Semantic Part Detection and Abstraction for Fine-grained Recognition
  10. 高精度加法 problem A+B