目录
解构:顾名思义,就是将一个整体分成多个子个体
- 传统写法
a=1 b=2 print(a,b)
python的写法
a,b=1,2 print(a,b)
这一过程,称为解构。
-
定义:按照元素顺序,把线性结构的元素依次赋值给变量。
封装:解构的逆操作
- 定义一个元组,省略括号。
t=1,2
>>> print(t)
(1, 2)
-
其他
-
lst=list(range(10)) head,*mid,tail=lst >>> head 0 >>> mid [1, 2, 3, 4, 5, 6, 7, 8] >>> tail 9
head代表第一个元素,tail中间的元素,mid是中间啊所有元素。注意mid是加星号的,加星号的变量表示可以接受任意个数的元素。
head,*tail=lst >>> head 0 >>> tail [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> *head,tail=lst >>> head [0, 1, 2, 3, 4, 5, 6, 7, 8] >>> tail 9
可以一个变量,一个加星号变量,但是不能只有一个星号变量,星号变量在一个层次里最多也只能有一个,但是可以有一个星号变量,多个不加星号的变量
*head,tail,end=lst >>> head [0, 1, 2, 3, 4, 5, 6, 7] >>> tail 8 >>> end 9 >>> *head=lst File "<stdin>", line 1 SyntaxError: starred assignment target must be in a list or tuple >>> *head,*tail,end=lst File "<stdin>", line 1 SyntaxError: two starred expressions in assignment
在python里,_代表的意思就是,如果这个这个变量对于主程序没有什么意义,可以使用下划线去承接它,就相当于垃圾回收站。
head,*_=lst >>> head 0 >>> _ [1, 2, 3, 4, 5, 6, 7, 8, 9]