封装和解构

封装和结构

封装(装箱)

封装是将多个值使用逗号分割,组合在一起
本质上,封装是返回一个元组,只是省掉了小括号
1
2
3
4
t1 = (1,2)
t2 = 1,2
print(t1,type(t1))
print(t2,type(t2))
(1, 2) <class 'tuple'>
(1, 2) <class 'tuple'>
1
封装、解构 可以理解为交换意思
1
2
3
4
5
6
7
8
9
a = 4
b = 5
temp = a
a = b
b = temp
print(a,b)
# 等价于
a, b = b, a
print(a,b)
5 4
4 5
1
上句中,等号右边使用了封装,而左边就使用了解构

解构(拆箱)

解构就是把线性结构的元素解开,并按顺序赋给其他变量
解构左边接纳的变量数要和右边解开的元素个数一致
1
2
3
lst = [3,5]
a , b = lst
print(a,b)
3 5

注:非线性结构也可以解构

1
2
3
4
a,b = {'a':10,'b':20}
print(a,b)
a,b = (11,22)
print(a,b)
a b
11 22

*变量名

Python的解构参数中可以使用 变量名 来接收参数
变量名 收集的参数会组成一个列表
*变量名 在结构参数中只能使用一次

1
2
3
4
lst  = list(range(1,21,2))
head,*body = lst
print(head,body)
# head,*mid,*tail = lst error
1 [3, 5, 7, 9, 11, 13, 15, 17, 19]

丢弃变量

如果不关心一个变量,就可以定义改变量的名字为‘_’    
‘_’是一个合法的标识符,也可以作为一个有效的变量使用,但是定义成下划线就是希望不要被使用,除非你明确的知道这个数据需要使用
1
2
3
4
5
lst = [7,8,9,2]
head,*_,tail = lst
print(head,tail)
# _是合法的标识符,看到下划线就知道这个变量就是不想被使用
print(_)
7 2
[8, 9]
1
2


-------------本文结束感谢您的阅读-------------
0%