一、什么是可迭代对象?
大白话:可以重复迭代的东西
专业话:实现了__iter__方法的对象就是可迭代对象
- 实现了__iter__方法的对象就叫做可迭代对象,__iter__方法的作用就是返回一个迭代器对象。
- 直观理解就是能用for循环进行迭代的对象就是可迭代对象。
- 比如:字符串、列表、元组、字典、集合等,都是可迭代对象。
for循环与__iter__方法又有什么关系呢?
list = [1, 2, 3]
for i in list:
print(i)
实际执行情况如图:
运行原理:
- 调用可迭代对象的__inter__方法返回一个可迭代对象(iterator)
- 不断调用迭代器的__next__方法返回元素
- 直到迭代完成之后,返回一个StopIteration异常
二、怎么查看一个对象是否是可迭代对象?
第一种方法:利用dir()方法