了解python中的迭代器和Iterables

时间:2015-12-04 22:23:06

标签: python iterator iterable

我试图理解迭代器和迭代。我有下面的python程序。

class fib():
    def __init__(self):
        self.prev = 0
        self.curr = 1

    def __iter__(self):
        return self

    def __next__(self):
        value = self.curr
        self.curr += self.prev
        self.prev = value
        return value

f = fib()
print(type(f))


z = iter(f)
item = z.next()
print(z)
item = z.next()
print(z)

我收到以下错误

   item = z.next()
AttributeError: 'fib' object has no attribute 'next'
1

我做错了什么,为什么我得到这个错误。根据我的理解,calss fib()是一个iterable因此应该返回一个iterator.Calling next()on iterator应该返回项目。

0 个答案:

没有答案