python_封装解构

1:封装

说明:
1:将多个值使用逗号分割,组合在一起
2:本质上返回一个元组,只是省略了小括号

demo:
t = 1, 2
print(t)->(1, 2)

2:解构

说明:
1:把线性结构的元素解开,并顺序的赋给其他的变量
2:左边接纳的变量数要和右边解开的元素个数一致

2-1:解构-基础用法

说明:线性结构和非线性结构都可以解构

demo:
lst = [3, 5]
first, second = list
print(first, second)-> 3, 5
a, b = {"key1":10, "key2":20}
print(a)->key1  # 由于字典是无序的,这里有可能打印的是key2
print(b)->key2

[a,b] = 10,20
print(a)->10
print(b)->20

[a,b] = (1,2)
print(a)->1
print(b)->2
2-2:解构- ( * ) 的用法
# * 在尾部 (只能够有一个 * )
a, *b = (1, 2, 3)
print(a)->1
print(b)->[2, 3]

# * 在中间 (只能有一个 * )
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
head, *mid, tail = a
print(head)->1
print(mid)-> [2, 3, 4, 5, 6, 7, 8]
print(tail)->9


# * 在头部 (只能有一个 * )
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
*head, mid, tail = a
print(head)->[1, 2, 3, 4, 5, 6, 7]
print(mid)-> 8
print(tail)->9
2-2:解构- (_) 丢弃变量

说明:不关心的变量可以使用“_”,他也是个变量名,是合法标识符

demo:
# 去尾
lit = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
first, *_ = lit
print(first)->1

# 取头尾
head, *_, tail = lit
print(head)->1
print(tail)->10
2-2:解构- (_) 之练习
从lst = [1,(2,3,4),5]中,提取4出来
lst = [1,(2,3,4),5]
_, (*_, tail), _ = lst
print(tail)->4
环境变量JAVA_HOME=/usr/bin,返回环境变量名和路径
s = "JAVA_HOME=/usr/bin"
env, path = s.split("=")
print(env)->'JAVA_HOME'
print(path)->'/usr/bin'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章