一.封装
- 将多个值使用逗号分割,组合在一起
-
本质上,封装成一个元组,返回
封装.gif
二.解构
- 把右边多个元素集合解开,并顺序的赋给其它变量
- 左边接纳的变量数要和右边解开的元素个数一致,否则出现报错ValueError
-
左边要出现至少两个的标识符才能解构
解构.gif
>>> x = 100
>>> y = 10
>>> x,y = y,x #先将右边的y,x 封装成元组(10,100),左边再解构该元组,实现了值的交换
>>> x
10
>>> y
100
三. python3 解构
- 使用"*变量名"接收多个元素,组成一个列表,不能单独使用
-
在解构中只能出现一个*变量名
*变量名.gif
四. 丢弃变量
- 在python中如果不关心一个变量,可以定义该变量的名字为"_"
-
"_" 是一个合法的标识符,也可以作为一个有效的变量使用,但是容易和python 中的库冲突.
丢弃变量.gif
五.练习
- 从lst = list(range(10)) 列表中取出第二个,第四个,以及倒数第二个元素。
- 从lst=[1,(2,3,4),5] 中,提取4。
- 文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,获取ifcfg-eth0。
答案:
第一题:
>>> lst
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> lst = list(range(10))
>>> lst
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> _,a,_,b,*_,c,_= lst
>>> a,b,c
(1, 3, 8)
第二题:
>>> lst=[1,(2,3,4)]
>>> lst=[1,(2,3,4),5]
>>> _,(*_,a),_ = lst
>>> a
4
第三题:
>>> *_,basename = "/etc/sysconfig/network-scripts/ifcfg-eth0".split("/")
>>> basename
'ifcfg-eth0'
网友评论