可變參數

可變參數就是傳入的參數個數是可變的,能夠是1個、2個到任意個,還能夠是0個
可變參數容許你傳入0個或任意個參數,這些可變參數在函數調用時自動組裝爲一個tuple

定義可變參數函數函數

def calc(*numbers):   sum = 0   for n in numbers:     sum = sum + n * n   return sum print(calc(1, 2)) #輸出:5
print(calc()) #輸出:0

 

函數定義時,既有位置參數又有可變參數,那麼當函數調用時,傳入的位置參數個數小於函數定義的話,則不足的部分會從可變參數中依次補充spa

def calc(a,b,*numbers): print(a) print(b) print(*numbers) nums = [1, 2, 3] calc(*nums) ''' 輸出: 1 2 3 ''' calc('a','b',*nums) ''' 輸出: a b 1 2 3 ''' calc('a',*nums) ''' 輸出: a 1 2 3 '''

 

將list或者tuple做爲可變參數傳入code

nums = [1, 2, 3] print(calc(nums[0], nums[1], nums[2])) #輸出:14, 這種寫法固然是可行的,問題是太繁瑣
print(calc(*nums)) #輸出:14, Python容許你在list或tuple前面加一個*號,把list或tuple的元素變成可變參數傳進去            # *nums表示把nums這個list的全部元素做爲可變參數傳進去
相關文章
相關標籤/搜索