Pythonのクロージャ、イテレータ、ジェネレータを使ってそれぞれフィボナッチ数を生成するコードを書いてみる。 まずはクロージャ。 def fibonacci_closure(): values = [] def fibonacci(): if not values: values.append(0) return values[0] elif len(values) == 1: values.append(1) return values[1] else: next_fib = sum(values) values[0], values[1] = values[1], next_fib return next_fib return fibonacci next_fibonacci = fibonacci_closure() for i in range(17): fib = next_f