如果程序需要有多個返回值,則既可將多個值包裝成列表之后返回,也可直接返回多個值。如果
Python 函數(shù)直接返回多個值,Python 會自動將多個返回值封裝成元組。
如下程序示范了函數(shù)直接返回多個值的情形:
- def sum_and_avg(list):
- sum = 0
- count = 0
- for e in list:
- # 如果元素e是數(shù)值
- if isinstance(e, int) or isinstance(e, float):
- count += 1
- sum += e
- return sum, sum / count
- my_list = [20, 15, 2.8, 'a', 35, 5.9, -1.8]
- # 獲取sum_and_avg函數(shù)返回的多個值,多個返回值被封裝成元組
- tp = sum_and_avg(my_list) #①
- print(tp)
上面程序中的第 9 行代碼返回了多個值,當 ① 號代碼調(diào)用該函數(shù)時,該函數(shù)返回的多個值將會被自動封裝成元組,因此程序看到 tp 是一個包含兩個元素(由于被調(diào)用函數(shù)返回了兩個值)的元組。
此外,也可使用 Python 提供的序列解包功能,直接使用多個變量接收函數(shù)返回的多個值。例如如下代碼:
- # 使用序列解包來獲取多個返回值
- s, avg = sum_and_avg(my_list) #②
- print(s)
- print(avg)
上面程序中的 ② 號代碼直接使用兩個變量來接收 sum_and_avg() 函數(shù)返回的兩個值,這就是利用了 Python 提供的序列解包功能。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。