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