封装
- 把等号右边的封装起来。
- 将多个值使用逗号分隔,组合在一起,返回的是一个元组,只是在定义时省掉了小括号
In [6]: t1 = 1,2
In [7]: t1
Out[7]: (1, 2)
解构
- 把等号右边的数据结构元素解开,并按照顺序赋值给等号左边的变量
- 等号左边的变量数量要和右边解开的元素个数一致
In [7]: t1
Out[7]: (1, 2)
In [8]: a,b = t1
In [9]: a
Out[9]: 1
In [10]: b
Out[10]: 2
封装结构举例
In [11]: a = 4
In [12]: b = 5
In [13]: a,b = b,a
# 等号右边使用了封装,等号左边使用了解构
In [14]: a
Out[14]: 5
In [15]: b
Out[15]: 4
In [21]: x, y = {'a': 'a1', 'b': 'b1'} # 字典也可以封装解构
python3解构
- 可以使用*变量名接收解构的值,但不能单独使用
- 被*变量名收集后会组成一个列表
In [24]: lst = list(range(1,101,2))
In [25]: head, *mid, tail = lst
# head为1, mid为1-99之间的基数组成的列表,tail为99
- 在解构中如果不关心一个变量,可以使用_接收,表示不希望使用
In [33]: lst = list(range(1,101,2))
In [35]: head, *_, tail = lst