Python函數(shù)返回不定數(shù)量的值方法
Python的函數(shù)是可以return多個值的,但其本質(zhì)上還是返回單個值,只是利用了tuple的自動打包,將多個值打包成單個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)返回的是一個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的自動解包,將tuple的值分別賦值給了a, b, c, d四個變量,實(shí)現(xiàn)返回多個值
既然知道實(shí)際上Python返回多個值的本質(zhì)是返回tuple,再自動解包賦值給N個變量,那要實(shí)現(xiàn)返回任意多個值,只要手動返回一個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的自動解包賦值給多個變量,從而實(shí)現(xiàn)函數(shù)返回不定數(shù)量的值。
這里需要注意,當(dāng)返單個值時,不需要再手動返回一個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ù)量的值方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
在python中計(jì)算ssim的方法(與Matlab結(jié)果一致)
這篇文章主要介紹了在python中計(jì)算ssim的方法(與Matlab結(jié)果一致),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
python實(shí)現(xiàn)word文檔批量轉(zhuǎn)成自定義格式的excel文檔的思路及實(shí)例代碼
這篇文章主要介紹了python實(shí)現(xiàn)word文檔批量轉(zhuǎn)成自定義格式的excel文檔的解決思路及實(shí)例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
python實(shí)現(xiàn)添加圖片到word文檔中
這篇文章主要介紹了python實(shí)現(xiàn)添加圖片到word文檔中方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09

