非關鍵字引數和關鍵字引數 args kw

2022-09-04 19:27:13 字數 709 閱讀 8056

這兩個引數的存在是方便在呼叫函式的時候可以靈活的傳參

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不同,命名關鍵字引數需要乙個特殊分隔符 後面的引數被視為...