def fib(limit):
# initialize first two Fib numbers
a,b = 0,1
# one by one yeild next Fib number
while a < limit:
yield a
a, b = b, a+b
gen_obj = fib(6)
print(gen_obj)
print(gen_obj.__next__())
print(gen_obj.__next__())
print(gen_obj.__next__())
print(gen_obj.__next__())
print(gen_obj.__next__())
print(gen_obj.__next__())
print("\nUsing for in loop")
for i in fib(6):
print(i)