1. 程式人生 > 其它 >Python基礎教程:賦值的多個方式

Python基礎教程:賦值的多個方式

一、序列解包/可迭代物件解包

釋義:將一個序列(或任何可迭代的物件)解包,並將得到的值儲存到一系列變數中。

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
>>> x
200 >>> x /= 4 >>> x 50.0 >>> x += 6 >>> x 56.0 >>> x -= 17 >>> x 39.0 >>> y = 'a' >>> y += 'A' >>> y 'aA'