简单赋值语句
>>> a = 1
>>> b = 2
>>> a, b
(1, 2)
序列赋值语句
元组赋值语句
>>> a, b = 1, 2
>>> a, b
(1, 2)
>>> a, b = (1, 2)
>>> a, b
(1, 2)
>>> (a, b) = 1, 2
>>> a, b
(1, 2)
>>> (a, b) = (1, 2)
>>> a, b
(1, 2)
列表赋值语句
>>> [a, b] = [1, 2]
>>> a, b
(1, 2)
扩展的序列解包
>>> seq = [1, 2, 3, 4]
>>> a, b, c, d = seq
>>> print(a, b, c, d)
1 2 3 4
>>> a, *b = seq
>>> print(a,b)
1 [2, 3, 4]
>>> *a, b = seq
>>> print(a, b)
[1, 2, 3] 4
>>> a, *b, c = seq
>>> print(a, b, c)
1 [2, 3] 4
>>> a, b, *c = seq
>>> print(a, b, c)
1 2 [3, 4]
多目标赋值语句
>>> a = b = 1
>>> a,b
(1, 1)
>>> a = b = c = 'hello'
>>> a, b, c
('hello', 'hello', 'hello')
增量赋值语句
增量赋值语句有以下形式
表达式 | 表达式 | 表达式 | 表达式 |
---|---|---|---|
x += y | x -= y | x *= y | x /= y |
x %= y | x // =y | x **= y | x &= y |
x |= y | x ^= y | x <<= y | x >>= y |
>>> a = 10
>>> a += 5
>>> a
15
>>> a -= 6
>>> a
9
>>> a *= 2
>>> a
18
>>> a /= 3
>>> a
6.0
>>> b = 10
>>> b //= 3
>>> b
3
>>> b %= 5
>>> b
3
>>> b **= 3
>>> b
27
>>> L = [1, 2]
>>> M = L
>>> L = L + [3, 4] # L被赋值给了一个新的对象
>>> L, M
([1, 2, 3, 4], [1, 2])
>>> L = [1, 2]
>>> M = L
>>> L += [3, 4] # += 意味着扩展 L = L.extend([3, 4])
>>> L, M
([1, 2, 3, 4], [1, 2, 3, 4])
>>> L = [1, 2]
>>> M = L
>>> L.extend([3, 4])
>>> L, M
([1, 2, 3, 4], [1, 2, 3, 4])
增量赋值语句与共享引用
>>> L = [1, 2]
>>> M = L
>>> L = L + [3, 4] # L被赋值给了一个新的对象
>>> L, M
([1, 2, 3, 4], [1, 2])
>>> L = [1, 2]
>>> M = L
>>> L += [3, 4] # += 意味着扩展 L = L.extend([3, 4])
>>> L, M
([1, 2, 3, 4], [1, 2, 3, 4])
>>> L = [1, 2]
>>> M = L
>>> L.extend([3, 4])
>>> L, M
([1, 2, 3, 4], [1, 2, 3, 4])