Pythonを使用して、Fibonacci数列を生成するための多くの方法がありますが、この記事では、特にコンパクトでシンプルな方法を紹介します。

まず、Fibonacci数列とは、前の2つの数を足した数列であり、最初の2つの数は0と1です。つまり、数列は0、1、1、2、3、5、8、13、21、34、…のようになります。

以下は、最初のn個のFibonacci数を生成するPythonのコンパクトなコードです。

def fibonacci(n):
    a, b = 0, 1
    for _ in range(n):
        yield a
        a, b = b, a + b

このコードでは、abを0と1に初期化し、yieldステートメントを使用してaを出力します。そして、abに、ba+bに設定して、Fibonacci数列を生成します。

これを使用するには、nを引数として渡すだけです。例えば、最初の10個のFibonacci数を生成するには、次のようにします。

>>> list(fibonacci(10))
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

このコードは、簡潔で理解しやすいだけでなく、ジェネレータを使用するため、非常に効率的です。ジェネレータは、すべてのFibonacci数を一度にメモリに読み込むことなく、必要に応じて1つずつ生成するため、大きな数列を生成する場合でもパフォーマンスが向上します。

このように、Pythonではわずか数行のコードで、コンパクトかつ効率的なFibonacci数列の生成ができます。