Ah, I see that I truly missed your earlier point. I suppose I would just do this:
def fib(max):
a, b = 0, 1
while a < max:
yield a
a, b = b, a + b
for k in fib(100):
print(k)