*args位置引數不能寫在**kwargs關鍵字引數後面
**kwargs 接受n個關鍵字引數,把關鍵字引數轉化為字典。
def
test
(**kwargs):
print(kwargs)
test(name="age",age="22")
列印結果為:
*args 接受n個位置引數,把引數轉化為元組形式
def
test
(*args):
print(args)
test(1,2,3,4,5)
列印結果為:
(1,2,3,4,5)
使用*args可以方便後續的引數的拓展
def
test
(x,*args):
print(x)
print(args)
test(1,2,3,4,5)
列印結果為:
1
( 2, 3, 4, 5)
組合方式:
def
test
(name,age=18,*args,**kwargs):
print(name)
print(age)
print(args)
print(kwargs)
test("test",age=11,***="man",hoboy="allpe")
結果:
test
11()
說明:
name被賦值為test,年齡引數也賦值為11,由於沒有給*args賦值,因此顯示乙個空的元組,後面的***=」man」,hoboy=」allpe」,被**kwargs賦值為乙個字典的格式。
Python學習之路 函式
函式 降低程式設計難度和 復用 一 函式的定義 函式是一段 的表示 def 函式 引數 零個或多個 函式return 返回 計算 x deffunction x 定義乙個函式 function s 1for i in range 1 x 1 for迴圈計算階乘 s i return s a func...
python學習之路七 函式
python函式 1.定義函式 def hello user print hello word 2 函式中傳遞形參與實參 a,b即為形參 b給到了預設值,在呼叫時b引數可以傳遞,也可以不傳遞 def function a,b 0 print a b 3.返回值 def get sum a,b ret...
Python學習之路 高階函式
python語言中,一切皆物件。函式本身也是乙個物件,我們知道函式的引數可以傳遞任意物件,函式的返回值也可以返回任意物件,那麼在python中函式能不能傳遞或者返回乙個函式呢?答案是當然可以,我們把這種傳參為函式或者返回值為函式物件的函式稱為高階函式。定義 在計算過程中,如果其中後一步都要用到前一步...