解包(封裝和解構)、丟棄變量

封裝code

  • 將多個值使用逗號分割,組合在一塊兒
  • 省掉了小括號,返回一個元組
t = 1, 2
print(t)
print(type(t))
# (1, 2)
# <class 'tuple'>

解構it

  • 把線性結構的元素解開,並順序地賦給其它變量
  • 左邊接納的變量數要和右邊解開的元素個數一致
  • *變量名 能夠接收多個元素返回一個列表,貪婪模式,但不能單獨使用
  • 解構能夠嵌套,同一層只能有一個*

丟棄變量io

  • 是一個慣例,一個不成文的約定,不是標準
  • 若是不關心一個變量,就能夠定義該變量的名稱爲'_'
  • '_'是一個合法的標識符,能夠做爲一個有效的變量使用,可是通常不使用
  • '_'這個變量自己無任何語義,沒有任何可讀性,因此不是用來給人使用的
l = [9, 8, 7, 20]
_, *_, tail = l
print(_)
print(tail)
# [8, 7]
# 20

從lst = list(range(10))中取出第二個、第四個、倒數第二個元素class

lst = list(range(10))
_, a, _, b,* _, c, _ = lst
print(a, b, c)
# 1 3 8

從lst = [1, (2,3,4), 5]中提取出4變量

lst = [1, (2,3,4), 5]
_, (*_, a) ,*_ = lst
print(a)
# 4

從環境變量JAVA_HOME=/use/bin中,提取出環境變量名和路徑環境變量

s = 'JAVA_HOME=/use/bin'
# env,path = s.split('=')
env, _, path = s.partition('=')
print(env, path)
# JAVA_HOME /use/bin
相關文章
相關標籤/搜索