這兩個引數的存在是方便在呼叫函式的時候可以靈活的傳參
def count(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
>>> count(1, 2, 3)
14>>> count(1, 3, 5, 7)
84
如果已經有乙個list或者tuple,要呼叫乙個可變引數怎麼辦?可以這樣做:
在list或tuple前面加乙個*號,把list或tuple的元素變成可變引數傳進去
>>> nums = [1, 2, 3]
>>> count(*nums)
extra表示把extra這個dict的所有key-value用關鍵字引數傳入到函式的kw引數,kw將獲得乙個dict,注意kw獲得的dict是extra的乙份拷貝,對kw的改動不會影響到函式外的extra
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
>>> extra =
>>> person('jack', 24, **extra)
name: jack age: 24 other:
Python中關鍵字引數和命名關鍵字引數的區別
python中函式的引數有位置引數 預設引數 可變引數 命名關鍵字引數和關鍵字引數,這個順序也是定義函式時的必須順序。本文主要是講講命名關鍵字引數和關鍵字引數的區別 可變引數允許你傳入0個或任意個引數,這些可變引數在函式呼叫時自動組裝為乙個tuple。而關鍵字引數允許你傳入0個或任意個含引數名的引數...
python關鍵字和非關鍵字引數(可變長引數)
可變長引數存在的意義是 每次呼叫乙個函式處理不同量的引數輸入。即,引數在呼叫之前輸入的引數數量是未知的,或者多次呼叫該函式,每次的引數輸入的量是不一致的 可變長引數分為非關鍵字和關鍵字型別,分別對應元組和字典,如下定義乙個類,功能是列印出輸入的函式 class test def keyword se...
命名關鍵字引數
如果要限制關鍵字引數的名字,就可以用命名關鍵字引數,例如,只接收city和job作為關鍵字引數。這種方式定義的函式如下 def person name,age,city,job print name,age,city,job 和關鍵字引數 kw不同,命名關鍵字引數需要乙個特殊分隔符 後面的引數被視為...