week03_python内置数据结构__封装、解构
2018-08-17 12:23
741 查看
封装和解构
将多个值使用逗号分隔,组合在一起;
本质上,返回一个元组,只是省掉了小括号;
python特有语法,被很多语言学习和借鉴;
解构:
把线性结构的元素解开,并顺序的赋给其它变量;
左边接纳的变量数要和右边解开的元素个数一致;
举例:
使用 *变量名 接收,但不能单独使用
被 *变量名 收集后组成一个列表
丢弃变量:
这是一个惯例,是一个不成文的约定,不是标准;
如果不关心一个变量,就可以定义为改变量的名字为_;
_是一个合法的标识符,也可以作为一个有效的变量使用,但是定义成下划线就是希望不要被使用,除非你明确的知道这个数据需要使用;
例:
将多个值使用逗号分隔,组合在一起;
本质上,返回一个元组,只是省掉了小括号;
python特有语法,被很多语言学习和借鉴;
t1 = (1, 2) #定义为元组 t2 = 1, 2 #将1和2封装成元组,只是省掉了小括号举例:
a = 4 b = 5 tmp = a a = b b = tmp 等价于 a, b = b, a 上句中,等号右边使用了封装,而左边就使用了解构 a, b = b, a 并不是直接就赋值了,事实经过类似这样: a = 4 b = 5 c = b, a # c = (5, 4) a, b = c
解构:
把线性结构的元素解开,并顺序的赋给其它变量;
左边接纳的变量数要和右边解开的元素个数一致;
举例:
a, b = 1, 2 a, b = (1, 2) a, b = [1, 2] a, b = [10, 20] a, b = {10, 20} a, b = {'a':10, 'b':20} #非线性结构也可以解构,字典是用key; a, b = {10, 20, 30} #ValueError: too many values to unpack (expected 2) a, *b = {10, 20, 30} # a = 10 、b = [20, 30] [a, b] = (1, 2) [a, b] = 10, 20 (a, b) = {30, 40}Python3的解构:
使用 *变量名 接收,但不能单独使用
被 *变量名 收集后组成一个列表
*d = 1,2,3,4 #会报错,这种带*的不允许单独使用 lst = list(range(5)) header, *m, tail = lst print("header is :", header) print("m is :", m) print("tail is :", tail) >>>: header is : 0 m is : [1, 2, 3] tail is : 4
丢弃变量:
这是一个惯例,是一个不成文的约定,不是标准;
如果不关心一个变量,就可以定义为改变量的名字为_;
_是一个合法的标识符,也可以作为一个有效的变量使用,但是定义成下划线就是希望不要被使用,除非你明确的知道这个数据需要使用;
lst = [9, 8, 7, 20] head, *_, tail = lst print(head) print(tail) >>>: 9 20 # _ 是合法的标识符,看到下划线就知道这个变量就是不想被使用; print(_) # [8, 7]
例:
key, _, val = "JAVA_HOME=/usr/bin".partition("=") # #"JAVA_HOME=/usr/bin".partition("=") 其结果是:('JAVA_HOME', '=', '/usr/bin') print(key) print(val)
相关文章推荐
- week03_python内置数据结构_缺省字典顺序字典
- week03_python内置数据结构_set及操作
- week03_python内置数据结构_字典
- python内置数据结构之set
- python内置数据结构
- python 内置数据结构的基本操作 —— list(2)
- Python 内置数据结构 —— queue(队列)、deque(双端队列)
- python内置数据结构之dict
- Python内置数据结构——字符串string
- python内置数据结构
- Python内置数据结构3
- python封装和解构
- 关于python内置数据结构和第三方库数据结构的切片索引易混内容
- python 内置数据结构的基本操作 —— Set(1)
- 我也要学python-内置数据结构(一)
- 【Python】07、python内置数据结构之字符串
- python 内置数据结构的基本操作 —— dict(1)
- python 内置数据结构的基本操作 —— tuple(2)
- python 3 一些常用的内置数据结构介绍
- week02_python内置数据结构__数值