python中可以同時給多個變數賦值,下面列舉了三種方法
# assign values directly
a, b = 0, 1
assert a == 0
assert b == 1
# assign values from a list
(r,g,b) = ["red","green","blue"]
assert r == "red"
assert g == "green"
assert b == "blue"
# assign values from a tuple
(x,y) = (1,2)
assert x == 1
assert y == 2
需要注意的地方:
a = 3
a, b = 1, a
如果按照正常的思維邏輯,先進行a = 1,在進行b = a,最後b等於1,但是這裡b其實等於3,因為在連續賦值語句中等式右邊其實都是區域性變數,而不是真正的變數值本身,比如,上面例子中右邊的a,在python解析的時候,只是把變數a的指向的變數3賦給b,而不是a=1之後a的結果 Golang 多個變數同時賦值
程式設計最簡單的演算法之一,莫過於變數交換。交換變數的常見演算法需要乙個中間變數進行變數的臨時儲存。用傳統方法編寫變數交換 如下 var a int 100 var b int 200 var t int t a a b b t fmt.println a,b 在計算機剛發明時,記憶體非常 精貴 這...
Python 等式同時對多個變數的賦值說明
python可以利用等式對多個變數同時賦值,如 a,b,c 1,2,3。利用這個特性可以很簡潔的寫出變數交換的 a 1b 2a,b b,a執行上述 後 a 2,b 1。這樣就快速的完成了a,b變數之間的交換。下面解釋 執行過程 上述 執行到第三行,先計算等式右邊的b值,等式邊為 a,b 2,a。然後...
Go 03 多個變數同時賦值
程式設計最簡單的演算法之一,莫過於變數交換。交換變數的常見演算法需要乙個中間變數進行變數的臨時儲存。用傳統方法編寫變數交換 如下 var a int 100 var b int 200 var t int t a a b b t fmt.println a,b 在計算機剛發明時,記憶體非常 精貴 這...