这篇文章主要知识点是关于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可迭代对象怎么理解的详细内容,更多请关注码农之家其它相关文章!
以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。
Copyright 2018-2021 www.xz577.com 码农之家
版权投诉 / 书籍推广 / 赞助:520161757@qq.com
Python中可迭代对象分解为单独的变量的实现方法(代码)
本篇文章给大家带来的内容是关于Python中可迭代对象分解为单独的变量的实现方法(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、需求 现在有一个包含N个元素的元组或序列,现在想将它分解为N个单独的变量。 2、解决方案 在python中,任何序列、元组、可序列号对象,都可以通过一个简单的赋值操作来分解为单独的变量。 唯一要求是变量的总数和结构要和序列的相吻合。如果不吻合就会报错 实例展示: #将序列分解为单独的变量m=(1,2)x,y=mprint(x=,x)print(y=,y)print(**30)data=[mark,18,超级帅,(1992,5,4)]name,age,feature,birthday=dataprint(name=,name)print(age=,age)print(feature=,feature)print(birthday=,birthday)print(**30)name,age,feature,(year,mon,day)=dataprint(name=,name)print(age=,age)print(feature=,feature)print(year=,year)print(mon=,mon)print(day=,day) 结果 x= 1y= 2*************************……
Python迭代和迭代器详解
迭代器 迭代器(iterator)有时又称游标(cursor)是程式设计的软件设计模式,可在容器物件(container,例如链表或阵列)上遍访的界面,设计人员无需关心容器物件的内存分配的实现细节。 摘自维基百科 也就是说迭代器类似于一个游标,卡到哪里就是哪里,可以通过这个来访问某个可迭代对象的元素;同时,也不是只有Python有这个特性。比如C++的STL中也有这个,如 vectorint::iterator it 。下面主要说一下Python中的可迭代对象和迭代器吧。 Python可迭代对象(Iterable) Python中经常使用 for 来对某个对象进行遍历,此时被遍历的这个对象就是可迭代对象,像常见的 list , tuple 都是。如果给一个准确的定义的话,就是只要它定义了可以返回一个迭代器的 __iter__ 方法,或者定义了可以支持下标索引的 __getitem__ 方法(这些双下划线方法会在其他章节中全面解释),那么……