デコレータと関係ないけど、
フィボナッチ数列を返すジェネレータを作ってみた。
再帰じゃなくてループ。
引数 max は項の数の最大値。

def fib(max):
    f_1, f_2 = 1, 1

    for i in range(1, max+1):
        if i <= 2:
            yield 1
        else:
            f = f_1 + f_2
            yield f
            f_1 , f_2 = f, f_1