*args和**kwargs的作用


∗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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM