Python丟棄返回值

函數多個返回值

python的函數支持返回多個值。返回多個值時,默認以tuple的方式返回python

例如,下面兩個函數的定義是徹底等價的。安全

def f():
    return 1,2

def f():
    return (1,2)

若是將函數調用的返回值賦值給對應個數的變量,它會一一對應的賦值,這很容易理解。下面是等價的:函數

a, b = f()     # a=1, b=2
(a, b) = f()

若是賦值給一個變量,將會把整個元組賦值給變量。下面是等價的,a表示整個元組(1,2):code

a = f()
(a) = f()

丟棄返回值

不少時候,多個返回值並不是全都是所需的,這時候須要丟棄某些返回值。python有幾種方式只獲取部分返回值:索引

1.直接放在空上下文,不進行任何賦值,將丟棄全部返回值變量

# f()的返回值全丟棄
f()

2.由於返回值是元組,因此能夠經過索引取得某個或某幾個返回值co

a = f()[0]
b = f()[1]

3.使用下劃線_return

# 丟棄第二個返回值
a, _ = f()

4.使用雙下劃線__或更多下劃線___________

# 丟棄第二個返回值
a, __ = f()

其中第三種方式"使用下劃線"不是很安全,由於下劃線_在python中有多種意義。並且正好有兩種意義在某些狀況下可能會產生衝突。因此,建議使用第四種方式。

相關文章
相關標籤/搜索