位置引數、預設引數、可變引數、命名關鍵字引數、關鍵字引數
組合使用時,引數的定義需按照上述方向依次定義。
可變引數實際接收的是乙個tuple,關鍵字引數實際接收的是乙個dict。
用*定義可變引數,用**定義關鍵字引數。
命名關鍵字引數需要用分隔符 * 隔開,*後面的引數是命名關鍵字引數。若之前定義了可變引數,則不需要分隔符 *
python的函式具有非常靈活的引數形態,既可以實現簡單的呼叫,又可以傳入非常複雜的引數。
預設引數一定要用不可變物件,如果是可變物件,程式執行時會有邏輯錯誤!
要注意定義可變引數和關鍵字引數的語法:
*args
是可變引數,args接收的是乙個tuple;
**kw
是關鍵字引數,kw接收的是乙個dict。
以及呼叫函式時如何傳入可變引數和關鍵字引數的語法:
可變引數既可以直接傳入:func(1, 2, 3)
,又可以先組裝list或tuple,再通過*args
傳入:func(*(1, 2, 3))
;
關鍵字引數既可以直接傳入:func(a=1, b=2)
,又可以先組裝dict,再通過**kw
傳入:func(**)
。
使用*args
和**kw
是python的習慣寫法,當然也可以用其他引數名,但最好使用習慣用法。
命名的關鍵字引數是為了限制呼叫者可以傳入的引數名,同時可以提供預設值。
定義命名的關鍵字引數在沒有可變引數的情況下不要忘了寫分隔符*
,否則定義的將是位置引數
Python學習之路Day2
message world print message 輸出結果為 world message hello world 輸出結果為 hello world print message 用引號 單 雙引號 括起來的都是字串 str1 this is a string str2 this is also...
Python基礎學習 Day2
python基礎學習 day2 pop 可以移除列表指定位置的物件並返回被刪除物件的值,注意該方法預設值為列表中的最後乙個元素且有返回值 del 移除列表中指定位置的多個物件,del 方式可以刪除整個列表,且列表刪除後無法訪問。拷貝分為copy 拷貝父物件,不會拷貝物件的內部的子物件和deepcop...
python學習筆記 day2
函式之間或類的方法之間使用空行分隔,表示乙個新的開始,類和函式入口之間也用空行分隔。空格不是語法的一種,但是最好這樣做,為了方便閱讀和日後的維護 input n按下enter後退出 n value input n請輸入 n print value 接收輸入的資訊並列印python支援同一行內編寫多行...