100以下のフィボナッチ数列を作るPythonのコードは次のようにします。
a, b = 0, 1 while a < 100: print(a, end=', ') a, b = b, a + b
結果
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,
プログラミングの学習でフィボナッチ数列がよく出てくるのは数学的な意味合いというよりも、スワッピングの例としてちょうど良いからだと思います。
さて、本来変数aとbの値を入れ替えるには次のようにしなければなりません。
a = 1 b = 2 temp = a a = b b = temp print(a, b)
けれども、アンパックを使うことで見事にスワッピングを実現しています。
これはどんな仕掛けでしょうか。
それは、スワップ動作は、代入演算子の右側のb,aが評価され、値が一時的な無名タプルに格納されることで実現されています。
アンパックを使った複数代入をもう一度見直して見ると良いでしょう。