在上一節(jié)課中,我們在函數(shù)里面使用return返回了計算的結(jié)果,在外部調(diào)用這個函數(shù)的時候,就可以接收到結(jié)果。
有時候函數(shù)是沒有返回結(jié)果的,這個時候從函數(shù)獲取到的是一個空值None。
我們對list_sum()這個函數(shù)進行簡單的修改,在函數(shù)內(nèi)把結(jié)果打印出來,不通過return返回結(jié)果。
def list_sum(l): result = 0 for num in l: result = result + num print('result is {}'.format(result)) return l = [1, 3, 5, 7, 9, 11] result =list_sum(l) # 調(diào)用定義的sum_list函數(shù)并獲得return返回的結(jié)果 print(result) # ==> None
在print(result)
中,我們得到None
的結(jié)果,這是合理的,因為在函數(shù)內(nèi)部,我們把結(jié)果打印出來了,但是沒有把結(jié)果返回。
除了返回None、一個值以外,函數(shù)也可以返回多個值,在函數(shù)中,如果需要返回多個值,多個值之間使用逗號分隔即可,但是需要注意順序。
比如,定義一個函數(shù)data_of_square,接收邊長一個參數(shù),同時返回正方形的周長和面積。
def data_of_square(side): C = 4 * side S = side * side return C, S C, S = data_of_square(16) print('周長 = {}'.format(C)) # ==> 周長 = 64 print('面積 = {}'.format(S)) # ==> 面積 = 256
也可以使用一個值存儲函數(shù)返回的多值結(jié)果。
result = data_of_square(16) print(result) # ==> (64, 256)
注意打印的result,其實它是tuple類型,如果我們需要取出結(jié)果中的周長或者面積,使用對應位置的下標就可以獲得對應的結(jié)果。
result = data_of_square(16) C = result[0] S = result[1] print('周長 = {}'.format(C)) # ==> 周長 = 64 print('面積 = {}'.format(S)) # ==> 面積 = 256
定義一個函數(shù)sub_sum(),這個函數(shù)接收一個列表作為參數(shù),函數(shù)返回列表所有奇數(shù)項的和以及所有偶數(shù)項的和。
參考答案:
def sub_sum(L): index = 0 sum1 = 0 sum2 = 0 for item in L: if index % 2 == 0: sum1 += item else: sum2 += item index += 1 return sum1, sum2 L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] result = sub_sum(L) print('奇數(shù)項的和 = {}'.format(result[0])) print('偶數(shù)項的和 = {}'.format(result[1]))
請驗證,完成請求
由于請求次數(shù)過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報