pythonでの多重付与の問題と注意

634 ワード

1、多重賦課
 a, b = 0, 1

結論:変数aとbは同時に新しい値0と1を得た.
2、多重賦課の順序問題
x = [0, 1]
i = 0
i, x[i] = 1, 2
print(x)

出力結果:
[0, 2]

===================================================================================
a, b = 0, 1
while b < 10:
    print(b)
    a, b = b, a + b

出力結果:
1
1
2
3
5
8

説明等号の右側の式は、値を割り当てる前に完全に解析されます.右式は左から右に計算されます.付与が完了する前に、a+bの動作は式の計算結果を完了したので、a,b=b,a+bをa=bに等しくすれば、b=a+bは完全に正しくない.
=============================================================================右の式を左から右に計算