默認參數跟必須參數的順序問題
由于函數的參數按從左到右的順序匹配,所以默認參數只能定義在必需參數的后面:
# OK:def fn1(a, b=1, c=2):
? ?pass# Error:def fn2(a=1, b):
? ?pass
這段話怎么理解
由于函數的參數按從左到右的順序匹配,所以默認參數只能定義在必需參數的后面:
# OK:def fn1(a, b=1, c=2):
? ?pass# Error:def fn2(a=1, b):
? ?pass
這段話怎么理解
2015-12-30
舉報
2015-12-30
不造你不懂的是哪里 默認參數在沒有傳值的情況下 使用的已定義的參數
假如使用的時候只傳入非默認的參數 (通常的做法) 默認的就使用默認的 這個時候默認參數定義在前邊就必須寫出來
定義在后邊就不用寫出來?
如int()函數 通常使用 傳入一個(一共兩個)參數: int(2.0) 得2 ?參數定義int(a,b=10)
但是如果定義為 int(b=10,a)的話 int(2.0)就必須寫成int(10,2.0)