变量名前加 *
*a, = 'abc' # 如果不加 *a 后面的 逗号,报错 带星号的赋值目标必须位于列表或元组中
print(a) # ['a', 'b', 'c']
*a, b = 'ABC'
print(a) # ['A', 'B']
print(b) # C
*a, b = 'ABCD'
print(a) # ['A', 'B', 'C']
print(b) # d
a, *b = "ABCD"
print(a) # A
print(b) # ['B', 'C', 'D']
a, *b, c = "ABCD"
print(a) # A
print(b) # ['B', 'C']
print(c) # D
[*a] = 'ABC'
print(a) # ['A', 'B', 'C']
[a, *b] = 'ABC'
print(a) # A
print(b) # ['B', 'C']
[a, *b, c] = 'ABC'
print(a) # A
print(b) # ['B']
print(c) # D
(a, *b) = "This is a cat".split()
print(a) # This
print(b) # ['is', 'a', 'cat']
相当于变量名前加 * 运算符后,该变量是列表变量,可接收不固定数量参数
优先分配其它变量,剩余的给带 * 变量
a,*b,c = 'AB'
print(a) # A
print(b) # []
print(c) # B