7.4 返回多個(gè)值的函數(shù)

2018-02-24 15:26 更新

問(wèn)題

你希望構(gòu)造一個(gè)可以返回多個(gè)值的函數(shù)

解決方案

為了能返回多個(gè)值,函數(shù)直接return一個(gè)元組就行了。例如:

>>> def myfun():
... return 1, 2, 3
...
>>> a, b, c = myfun()
>>> a
1
>>> b
2
>>> c
3

討論

盡管myfun()看上去返回了多個(gè)值,實(shí)際上是先創(chuàng)建了一個(gè)元組然后返回的。這個(gè)語(yǔ)法看上去比較奇怪,實(shí)際上我們使用的是逗號(hào)來(lái)生成一個(gè)元組,而不是用括號(hào)。比如下面的:

>>> a = (1, 2) # With parentheses
>>> a
(1, 2)
>>> b = 1, 2 # Without parentheses
>>> b
(1, 2)
>>>

當(dāng)我們調(diào)用返回一個(gè)元組的函數(shù)的時(shí)候 ,通常我們會(huì)將結(jié)果賦值給多個(gè)變量,就像上面的那樣。其實(shí)這就是1.1小節(jié)中我們所說(shuō)的元組解包。返回結(jié)果也可以賦值給單個(gè)變量,這時(shí)候這個(gè)變量值就是函數(shù)返回的那個(gè)元組本身了:

>>> x = myfun()
>>> x
(1, 2, 3)
>>>
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)