Python中可迭代對象(Iterable)并不是指某種具體的數據類型,它是指存儲了元素的一個容器對象,且容器中的元素可以通過__iter__( )方法或__getitem__( )方法訪問。
- __iter__方法的作用是讓對象可以用for … in循環遍歷, getitem ( )方法是讓對象可以通過“實例名[index]”的方式訪問實例中的元素。老猿認為這兩個方法的目的是Python實現一個通用的外部可以訪問可迭代對象內部數據的接口。
- 一個可迭代對象是不能獨立進行迭代的,Python中,迭代是通過for … in來完成的。凡是可迭代對象都可以直接用for… in…循環訪問,這個語句其實做了兩件事:第一件事是調用__iter__()獲得一個可迭代器,第二件事是循環調用__next__()。
-
常見的可迭代對象包括:
a) 集合數據類型,如list、tuple、dict、set、str等;
b) 生成器(generator),包括生成器和帶yield的生成器函數(generator function),下節專門介紹。 -
如何判斷一個對象是可迭代對象呢?可以通過collections模塊的Iterable類型判斷,具體判斷方法如下:
from collections import Iterable #導入Iterable 模塊
isinstance(變量, Iterable) #判斷一個變量是否為可迭代對象返回True表明是可迭代對象
具體相關知識可以參考《 基礎知識進階 第4.1節 Python基礎概念之迭代、可迭代對象、迭代器》
老猿Python,跟老猿學Python! 博客地址:https://blog.csdn.net/LaoYuanPython
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
