Fib实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行,比如,取第5个元素:
>>> Fib()[5]
Traceback (most recent call last):
File "", line 1, in
TypeError: 'Fib' object does not support indexing
要表现得像list那样按照下标取出元素,需要实现__getitem__()方法:
class Fib(object):
文章目录1. 可迭代的概念首窥2. 判断对象是否可迭代3. 自定义类创建对象使用for循环3.1 自定义类实现__iter()__方法3.2 迭代器3.3 自定义迭代器类
1. 可迭代的概念首窥
想要了解迭代器,需要首先明确可迭代的概念。下面首先通过for循环来引出可迭代的概念。我们知道,在Python中,使用for循环的语法非常简单直观,如下述代码:
def test_list():
for each in [1, 2, 3]:
print(each)
prin