∗args的作用:
*的作用有2個 打包參數(pack)和拆分參數(unpack)
函數接受實參時,按順序分配給函數形參,如果遇到帶∗的形參,那么就把還未分配出去的實參以元組形式打包(pack),分配給那個帶∗的形參。
∗∗kwargs的作用
∗∗的作用同樣也有兩個—— 打包參數(pack)和拆分參數(unpack)!
但是區別還是有的,簡單來說就是:
打包(pack):*args是把多個位置參數打包成元組,**kwargs是把多個關鍵字參數打包成字典。
拆分(unpack):*args是把打包了的參數拆成單個的,依次賦值給函數的形參,**kwargs是把字典的鍵值拆成單個的,依次賦值給函數的形參。
注意的是拆分需要字典的鍵名和函數形參一至不然會報錯
*args和**kwargs當中args和kwargs可為任意字符,但是這樣寫是一個規范
原文:https://blog.csdn.net/lllxxq141592654/article/details/81288741
