python入門五(函數)【5-4 python中定義可變參數】

5-4 python中定義可變參數python

Python之定義可變參數

若是想讓一個函數能接受任意個參數,咱們就能夠定義一個可變參數:數組

1 def fn(*args): 2     print args

可變參數的名字前面有個 * 號,咱們能夠傳入0個、1個或多個參數給可變參數:函數

>>> fn() () >>> fn('a') ('a',) >>> fn('a', 'b') ('a', 'b') >>> fn('a', 'b', 'c') ('a', 'b', 'c')

可變參數也不是很神祕,Python解釋器會把傳入的一組參數組裝成一個tuple傳遞給可變參數,所以,在函數內部,直接把變量 args 當作一個 tuple 就行了spa

定義可變參數的目的也是爲了簡化調用。假設咱們要計算任意個數的平均值,就能夠定義一個可變參數:code

def average(*args): ...

這樣,在調用的時候,能夠這樣寫:blog

1 >>> average() 2 0 3 >>> average(1, 2) 4 1.5
5 >>> average(1, 2, 2, 3, 4) 6 2.4

任務

請編寫接受可變參數的 average() 函數。class

 1 def average(*args):  2     sum = 0.0
 3     if len(args) == 0:  4         return sum  5     for x in args:  6         sum = sum + x  7     return sum/len(args)  8 
 9 print average() 10 print average(1, 2) 11 print average(1, 2, 2, 3, 4)
相關文章
相關標籤/搜索