class Fib: '''Iterator for the Fibonacci seq.''' def __init__(self, max): self.max = max def __iter__(self): self.a = 0 self.b = 1 return self def __next__(self): fib = self.a if fib > self.max: raise StopIteration self.a,self.b=self.b,self.a+self.b return fib myFibA = Fib(3) myFibB = Fib(100) print(myFibA) print(myFibA.__class__) print(myFibA.__doc__) print(myFibA.max) print(myFibB.max) # iter(myFibA) # calls __iter__ # next(myFibA) # calls __next__ print("Fibonacci sequence up to 3 inclusive") for n in myFibA: print(n, end=" ") print() print("Fibonacci sequence up to 100 inclusive") for n in myFibB: print(n, end=" ") print() print("Power of list magic:") print(list(myFibA)) print("Fin")