自动拆包

item = ('butter', 'fly')
first, second = item

直接交换两个变量的值

a, b = b, a

这样写为什么可以成立呢?因为 Python 处理赋值操作的时候,要先对=号右侧求值,于是,它会新建一个临时的元组,把 a[i]a[i-1] 这两个元素放到这个元组里面。

在循环时利用自动拆包

items = [('butter', 'fly'), ('butter2', 'fly2')]
 
for idx, (first, second) in enumerate(items):
    print(f'#{first}: {second}')

通过带星号来进行拆包

oldest, second_oldest, *others = car_ages_descending
print(oldest, second_oldest,others)
>>>
20 19 [159,8,7,6,4,1,0]