您好,登錄后才能下訂單哦!
Python的函數是可以return多個值的,但其本質上還是返回單個值,只是利用了tuple的自動打包,將多個值打包成單個tuple返回。
使用代碼驗證:
def func_a(): return 1, 2, 3, 4 if __name__ == '__main__': temp = func_a() print(type(temp))
運行結果,確認返回的是一個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四個變量,實現返回多個值
既然知道實際上Python返回多個值的本質是返回tuple,再自動解包賦值給N個變量,那要實現返回任意多個值,只要手動返回一個tuple就可以了,tuple內元素的數量可以自定:
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)
代碼中,將傳入的參數值 x 2后,轉換成tuple返回,再利用tuple的自動解包賦值給多個變量,從而實現函數返回不定數量的值。
這里需要注意,當返單個值時,不需要再手動返回一個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函數返回不定數量的值方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。