1. 程式人生 > >參數定義的順序必須是:必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數。

參數定義的順序必須是:必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數。

順序 最好 lis 調用函數 code 默認值 對象 直接 語法

在Python中定義函數,可以用必選參數、默認參數、可變參數、關鍵字參數和命名關鍵字參數,這5種參數都可以組合使用。但是請註意,參數定義的順序必須是:必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數。

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(**{‘a‘: 1, ‘b‘: 2})

使用*args**kw是Python的習慣寫法,當然也可以用其他參數名,但最好使用習慣用法。

命名的關鍵字參數是為了限制調用者可以傳入的參數名,同時可以提供默認值。

定義命名的關鍵字參數在沒有可變參數的情況下不要忘了寫分隔符*,否則定義的將是位置參數。

參數定義的順序必須是:必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數。