封装

  • 把等号右边的封装起来。
  • 将多个值使用逗号分隔,组合在一起,返回的是一个元组,只是在定义时省掉了小括号
  1. In [6]: t1 = 1,2
  2. In [7]: t1
  3. Out[7]: (1, 2)

解构

  • 把等号右边的数据结构元素解开,并按照顺序赋值给等号左边的变量
  • 等号左边的变量数量要和右边解开的元素个数一致
  1. In [7]: t1
  2. Out[7]: (1, 2)
  3. In [8]: a,b = t1
  4. In [9]: a
  5. Out[9]: 1
  6. In [10]: b
  7. Out[10]: 2

封装结构举例

  1. In [11]: a = 4
  2. In [12]: b = 5
  3. In [13]: a,b = b,a
  4. # 等号右边使用了封装,等号左边使用了解构
  5. In [14]: a
  6. Out[14]: 5
  7. In [15]: b
  8. Out[15]: 4
  9. 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