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次"

猜你喜欢

转载自www.cnblogs.com/wuyanzu123/p/9449199.html
今日推荐