亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

章節
問答
課簽
筆記
評論
占位
占位

Python函數使用可變參數

除了默認參數,Python函數還接收一種參數叫做可變參數,可變參數即任意個參數的意思,可變參數通常使用*args來表示。

def func(*args):
    print('args length = {}, args = {}'.format(len(args), args))

func('a') # ==> args length = 1, args = ('a',)
func('a', 'b') # ==> args length = 2, args = ('a', 'b')
func('a', 'b', 'c') # ==> args length = 3, args = ('a', 'b', 'c')

注意,在使用上,Python會把可變參數定義為一個tuple,所以在函數內部,把可變參數當作tuple來使用就可以了,比如可以通過位置下標取出對應的元素等。
定義可變參數的目的也是為了簡化調用。假設我們要計算任意個數的平均值,就可以定義一個可變參數:

def average(*args):
    sum = 0
    for item in args:
        sum += item
    avg = sum / len(args)
    return avg

這樣,在調用的時候,我們就可以這樣寫:

average(1, 2) # ==> 1.5
average(1, 2, 2, 3, 4) # ==> 2.4
average()
# 報錯
Traceback (most recent call last):
ZeroDivisionError: division by zero

在執行average()的時候,卻報錯了,這是因為在使用可變參數時,沒有考慮周全導致的,因為可變參數的長度可能是0,當長度為0的時候,就會出現除0錯誤。因此需要添加保護的邏輯,這是同學在使用過程中需要特別注意的。

任務

請完善average()函數,使得當可變參數長度為0的時候,也能正確返回結果。

?不會了怎么辦

參考答案:

def average(*args):
    sum = 0
    if len(args) == 0:
        return sum
    for item in args:
        sum += item
    avg = sum / len(args)
    return avg
||

提問題

寫筆記

公開筆記
提交
||

請驗證,完成請求

由于請求次數過多,請先驗證,完成再次請求

加群二維碼

打開微信掃碼自動綁定

您還未綁定服務號

綁定后可得到

  • · 粉絲專屬優惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問題答復提醒
  • · 賬號支付安全提醒

收藏課程后,能更快找到我哦~

使用 Ctrl+D 可將課程添加到書簽

邀請您關注公眾號
關注后,及時獲悉本課程動態

舉報

0/150
提交
取消
全部 精華 我要發布
全部 我要發布
最熱 最新
只看我的

手記推薦

更多

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?