參數組:*args,**kwargs
實參有按位置和按關鍵字兩種形式定義,*args和**kwargs
- 位置參數:按照從左到右的順序定義的參數 位置形參:必選參數 位置實參:按照位置給形參傳值
-
關鍵字參數:按照key=value的形式定義的實參 無需按照位置為形參傳值 注意的問題: 1. 關鍵字實參必須在位置實參右面 2. 對同一個形參不能重復傳值
- 加了星號 * 的參數會以元組(tuple)的形式導入,存放所有未命名的變量參數
# 可寫函數說明 def printinfo( arg1, *vartuple ): "打印任何傳入的參數" print ("輸出: ") print (arg1) print (vartuple) # 調用printinfo 函數 printinfo( 70, 60, 50 )
result
輸出: 70 (60, 50)
- 加了兩個星號 ** 的參數會以字典的形式導入
# 可寫函數說明 def printinfo( arg1, **vardict ): "打印任何傳入的參數" print ("輸出: ") print (arg1) print (vardict) # 調用printinfo 函數 printinfo(1, a=2,b=3) #一個參數不能賦兩個值
result
1 {'a': 2, 'b': 3}