一、*args的使用方法
*args 用來將參數打包成tuple給函數體調用
二、**kwargs的使用方法
**kwargs 打包關鍵字參數成dict給函數體調用注意點:參數arg、*args、**kwargs三個參數的位置必須是一定的。必須是(arg,*args,**kwargs)這個順序,否則程序會報錯。
單星號變量實例(*)
單星號(*)的其它作用:
單星號變量不僅僅能夠用在函數的參數傳遞中,實際上對一個普通變量使用單星號前綴,能夠將這個變量拆分成單個元素。
#如果在變量前面使用單星號,實際上是對變量的一次拆解操作,將變量中單獨的元素拆解出來,然后依次傳入one()函數
而傳入one()函數后,one()函數會將這些傳入的單個元素保存成一個元組,這就是為什么我們 print(x[0])能夠提取第一個元素的原因.
變量在傳入到單星號變量函數中時,會將變量自動轉化為元組,而元組是不能改變的。
另外,單星號是無法讀取到字典中的值的,永遠只會讀取到字典中的鍵(key),如果想讀取到字典中的值,需要使用雙星號(**).
雙星號(**)變量實例
雙星號可以用來獲得字典的值
需要注意的是:
使用這種方法將字典傳入函數的時候,字典的鍵的命名要符合python變量的命名規則,通過上面的分析也不難看出,雙星號會將字典首先轉換成關鍵字參數的形式,就相當于使用字典中的鍵作為變量名,如果鍵不符合變量命名規則,則會拋出一個"TypeError"異常。
參考:
(1) https://www.qingsword.com/qing/python-12.html