Python 函式 可變引數

2021-09-24 23:39:51 字數 947 閱讀 3998

有些時候我們可能遇到引數的個數並不固定的情況,比如1+2+3+……+n;函式定義如下

def calc(numbers):

sum = 0

for n in numbers:

sum = sum + n*n

return sum

上面這種情況只能傳乙個引數,而且引數一般是list或tuple,呼叫方式:calc([1,3,5]);

定義可變引數主要在引數前增加*號,引數接收到的是乙個tuple,可以任意個引數,例如:

def calc(*numbers):

sum = 0

for n in numbers:

sum = sum +n*n

return sum

//呼叫方式

calc(1,3,5)

nums = [1,2,3]

calc(*nums)

關鍵字引數

關鍵字引數允許你傳入0個或任意個含引數名的引數,這些關鍵字引數在函式內部自動封裝為乙個dict.

def person(name,age,**kw):

print('name:',name,'age:',age,'other:',kw)

命名關鍵字引數

命名關鍵自引數,可以限制關鍵字引數的名字,例如,只接收city和job作為關鍵字引數。這種方式定義的函式如下

def person(name,age,*,city,job):

print(name,age,city,job)

//和關鍵字引數**kw不同,命名關鍵字引數需要乙個特殊分隔符*,*後面的引數被視為命名關鍵字引數

//呼叫方式

person('jack',24,city='beijing',job='engineer')

Python函式的可變引數

剛學用python的時候,特別是看一些庫的原始碼時,經常會看到func args,kwargs 這樣的函式定義,這個 和 讓人有點費解。其實只要把函式引數定義搞清楚了,就不難理解了。先說說函式定義,我們都知道,下面的 定義了乙個函式funca def funca pass 顯然,函式funca沒有引...

Python常用函式 可變引數

剛學python的時候,特別是看一些庫的原始碼時,經常會看到func args,kwargs 這樣的函式定義,這個和讓人有點費解。有時你可能想定義的函式裡面能夠有任意數量的變數,也就是引數數量是可變的,這可以通過使用星號來實現 將下方案例儲存為 function varargs.py def tot...

Python函式 函式的可變引數

在python函式中,還可以定義可變引數。顧名思義,可變引數就是傳入的引數個數是可變的,可以是1個 2個到任意個,還可以是0個。我們以數學題為例子,給定一組數字a,b,c 請計算a 2 b 2 c 2 我們把函式的引數改為可變引數 def calc numbers sum 0 for n in nu...