溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python函數(shù)返回不定數(shù)量的值方法

發(fā)布時(shí)間:2020-08-24 21:50:02 來(lái)源:腳本之家 閱讀:161 作者:BlackMatrix 欄目:開(kāi)發(fā)技術(shù)

Python的函數(shù)是可以return多個(gè)值的,但其本質(zhì)上還是返回單個(gè)值,只是利用了tuple的自動(dòng)打包,將多個(gè)值打包成單個(gè)tuple返回。

使用代碼驗(yàn)證:

def func_a():
 return 1, 2, 3, 4

if __name__ == '__main__':
 temp = func_a()
 print(type(temp))

運(yùn)行結(jié)果,確認(rèn)返回的是一個(gè)tuple,

<class 'tuple'>

稍微修改代碼:

def func_a(*args):
 return 1, 2, 3, 4

if __name__ == '__main__':
 a, b, c, d = func_a()
 print(a, b, c, d)

代碼中利用了tuple的自動(dòng)解包,將tuple的值分別賦值給了a, b, c, d四個(gè)變量,實(shí)現(xiàn)返回多個(gè)值

既然知道實(shí)際上Python返回多個(gè)值的本質(zhì)是返回tuple,再自動(dòng)解包賦值給N個(gè)變量,那要實(shí)現(xiàn)返回任意多個(gè)值,只要手動(dòng)返回一個(gè)tuple就可以了,tuple內(nèi)元素的數(shù)量可以自定:

def func_a(*args):
 return tuple(arg * 2 for arg in args)

if __name__ == '__main__':
 a, b, c, d = func_a(1, 2, 3, 4)
 print(a, b, c, d)

代碼中,將傳入的參數(shù)值 x 2后,轉(zhuǎn)換成tuple返回,再利用tuple的自動(dòng)解包賦值給多個(gè)變量,從而實(shí)現(xiàn)函數(shù)返回不定數(shù)量的值。

這里需要注意,當(dāng)返單個(gè)值時(shí),不需要再手動(dòng)返回一個(gè)tuple,所以修改代碼如下:

def func_a(*args):
 temp = tuple(arg * 2 for arg in args)
 return temp if len(temp) > 1 else temp[0]

if __name__ == '__main__':
 a, b, c, d = func_a(1, 2, 3, 4)
 print(a, b, c, d)
 e = func_a('Hello')
 print(e)

以上這篇Python函數(shù)返回不定數(shù)量的值方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI