python-封装、解构
封装和解构
封装
#封装,如1,2会将其封装成元组,会把等号右边零散的元素封装成线性结构
t1=(1,2)
print(t1)
t2=1,2
print(t2)
#输出
(1, 2)
(1, 2)
封装和解构的好处
#封装和解构的好处
a=2
b=3
temp=a
a=b
b=temp
print(a)
print(b)
print("----------------等价于---------------")
a=2
b=3
a,b=b,a
print(a)
print(b)
#输出
3
2
----------------等价于---------------
3
2
解构
#解构
#把线性结构的元素解开,并按顺序赋给右边的变量
ls=[1,2,3]
f,s,t=ls #1
print(f,s,t)
#输出
1 2 3
#非线性结构也可以解构
a,b={'a':10,'b':20}
print(a)
print(b) #2
#*的使用
#要配合变量名一起使用,尽可能多的去匹配
l=list(range(1,15,2))
head,*mid,tail=l
print(head)
print(mid)
print(tail)
#输出
1
3,5,7,9,11
13
l=list(range(1,15,2))
_,*mid,_=l #3
print(mid)
print(_)
#输出
[3, 5, 7, 9, 11]
13
#_仅会取到最后一次的赋值
注意#1:左右两边的元素个数必须一致,不然就会抛异常
注意#2:只能取到key
注意#3:带*的变量名,有且仅能有一个
丢弃变量
#如果你对这个变量不关心,或者以后也不会用到那么就用_
#比如说我要取出列表的头尾,对其他我并不关心是什么
a=[23,3,4,2,5,5,31,6,4,77,8]
h,*_,t=a
print(h)
print(t)
#输出
23
8
#比如在用for循环,我不会用到比如说i这个用来迭代下标的变量,那么我也可以使用_
for _ in rang(10):
print "欢迎你10次"