>>761
おお、ありがとう!目からウロコです。
自分もさらに少しだけ手を入れてみますた。

# ・組み込み関数名とかち合ってしまうので、引数名 max を size に変更。
# ・a, b を引数のデフォルトにするのは、外部から初期値を変更可になって
#  しまうのがいやなので、関数内で普通に宣言。

def fib(size):
    a = 0; b = 1
    for i in range(size):
        yield b
        a, b = b, a + b