为什么要讲解包
因为我觉得解包是 Python 的一大特性,大大提升了编程的效率,而且适用性很广
啥是解包
个人通俗理解:解开包袱,拿出东西
正确理解:将元素从可迭代对象中一个个取出来
python 中...,解包是自动完成的
最简单的解包栗子
a, b, c = [1, 2, 3]
print(a, b, c)
# 输出结果
1 2 3
列表有 3 个元素,此时也需要 3 个变量去接,否则会报错...a, b = [1, 2, 3]
# 输出结果
a, b = [1, 2, 3]
ValueError: too many values to unpack (expected 2)
太多值无法解包...每个变量都分配一个元素后,剩下的元素都分配给这个带星号的变量
# 多变量
a, b, *c, d = [1, 2, 3, 4, 5]
print(a, b, c, d)
# 输出结果
1 2 [3...,就需要解包,和上面写法是等价的
test(**{"a": 1, "b": 2, "c": 3})
# 输出结果
1 2 3
1 2 3
Python 3.5+的新特性
在 3.5 之前,函数调用时