什麼是 args和 kwargs

2021-09-18 02:28:07 字數 1072 閱讀 3915

def example(*args, **kwargs):

print('-------------------')

print('args = ', args)

print('kwargs = ', kwargs)

print('-------------------')

if __name__ == '__main__':

example(1, 2, 3)

example(a=1, b=2, c=3)

example(1, 2, 3, a=4, b=5, c=6)

example('a', true, 1, a=1, b='b', c=false)

-------------------

args = (1, 2, 3)

kwargs = {}

-------------------

-------------------

args = ()

kwargs =

-------------------

-------------------

args = (1, 2, 3)

kwargs =

-------------------

-------------------

args = ('a', true, 1)

kwargs =

-------------------

從上面的**我們可以看到,*args和**kwargs是python的兩個可變引數,前者的型別是tuple,表示多個無名的引數;後者是乙個dict,表示關鍵字引數。

另外,需要注意的是,當同時使用*args和**kwargs時,*args引數要在**kwargs之前,否則會出現報錯。

example(1, 2, a=3, 4)
報錯

syntaxerror: positional argument follows keyword argument

什麼是 args和 kwargs

在解釋這兩個概念之前,我們先看了例子,def example args,kwargs print print args args print kwargs kwargs print if name main example 1,2,3 example a 1,b 2,c 3 example 1,2,...

Python 什麼是 args和 kwargs

今天看原始碼的時候發現乙個是 args和 kwargs,一看就能知道args是神馬,就是所有引數的陣列,kwargs就不知道了,google一下,乙個人的blog寫的比較簡單明瞭,秒懂了 kwargs就是當你傳入key value是儲存的字典。補充一下 kwargs不影響引數位置 例子 def te...

Python 什麼是 args和 kwargs

python 什麼是 args和 kwargs 今天看原始碼的時候發現乙個是 args和 kwargs,一看就能知道args是神馬,就是所有引數的陣列,kwargs就不知道了,google一下,乙個人的blog寫的比較簡單明瞭,秒懂了 kwargs就是當你傳入key value是儲存的字典。補充一下...