Python基礎教程:賦值的多個方式
阿新 • • 發佈:2022-05-17
一、序列解包/可迭代物件解包
釋義:將一個序列(或任何可迭代的物件)解包,並將得到的值儲存到一系列變數中。
1、並行賦值
>>> x,y,z = 1,2,3 >>> print(x,y,z) 1 2 3
可用於交換變數值
>>> x,y = y,x >>> print(x,y,z) 2 1 3
可用於返回元組(或其他序列或可迭代物件)的函式或方法
>>> d = {"A":"a","B":"b","C":"c","D":"d"} >>> key1,value1 = d.popitem()>>> key1 'D' >>> value1 'd' >>> key2,value2 = d.popitem() >>> key2 'C' >>> value2 'c'
2、可用星號運算子(*)收集多餘值
>>> a,b,*rest = [1,2,3,4,5] >>> rest [3, 4, 5] >>> c,d,*e = (1,2,3,4,5,6) >>> e [3, 4, 5, 6] #賦值語句的右邊可以是任何型別的序列,但帶*的變數最終包含的都是一個列表
二、鏈式賦值
釋義:用於將多個變數關聯到同一個值
>>> z = [1,2,3] >>> x = y = [1,2,3] >>> x == y True >>> x == z True >>> x is y #通過鏈式賦值的變數指向同一個物件 True >>> x is z #分開賦值的變數即使對應的值相同,但指向的是不同物件 False
三、增強賦值
釋義:v1 = v1 + v2 → v1 += v2
>>> x = 100 >>> x *= 2 >>> x200 >>> x /= 4 >>> x 50.0 >>> x += 6 >>> x 56.0 >>> x -= 17 >>> x 39.0 >>> y = 'a' >>> y += 'A' >>> y 'aA'