Python可變引數

FrankYou發表於2016-07-29
 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))

相關文章