1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 import math 4 5 def calc(*numbers): 6 sum=0 7 for n in numbers: 8 sum+=n**2 9 return sum 10 print(calc(1,2,3)) 11 print(calc(1,3,5,7)) 12 print(calc())
定義可變引數和定義一個list或tuple引數相比,僅僅在引數前面加了一個*號。在函式內部,引數numbers接收到的是一個tuple,因此,函式程式碼完全不變。但是,呼叫該函式時,可以傳入任意個引數,包括0個引數。
Python允許你在list或tuple前面加一個*
號,把list或tuple的元素變成可變引數傳進去:
1 nums = [1,2,3] 2 print(calc(*nums))