紫衣人2016
通過IDE可以非常簡單的知道所調用函數的參數信息,以Pycharm為例,按住Ctrl,鼠標移動到函數處,即可查看函數的參數,若點擊函數,則可以跳轉到該函數定義代碼,查看詳細信息,如下Gif圖。
我們除了知道如何查看函數的調用參數信息,還需要知道參數的類型,否則可能也無法正確的傳入對應參數。
函數的參數類型
Python 的函數的參數類型可分為以下參數類型:
形參 :形參就是形式上的參數,沒有明確的值,需要賦值後才有意義,相當於變量,一般 定義函數的時候用的是形參 ,比如:
實參:實參就是實際意義上的參數,實際明確的值,比如是字符串、數字等,一般調用函數的時候,用的是實參,比如:
參數類型又可劃分為:
- 位置參數
- 默認參數
- 可變參數
- 關鍵字參數
位置參數
在Python中調用函數時,必須將函數調用中的每個實參都關聯到函數定義中的對應形參,不能多也不能少,實參傳遞順序應與函數定義的形參順序相同,即為位置參數。
當調用test(input) 函數時,若不傳遞任何參數,則將執行時會拋出異常,如下:
默認參數
在Python中定義函數時,可以給形參默認賦予一個固定值,即為默認值。
在調用函數給形參提供實參時,就使用傳入的實參值,若不傳參,則使用形參的默認值,因此,給形參指定默認值後,在函數調用中可省略相應的實參,如下:
可變參數
在Python中定義函數時,當參數個數不確定時,在定義函數時可使用如下形式,把所有參數作為可變參數傳到input裡面進去,調用該函數時,可以傳入任意個參數,包括0個參數,這些可變參數在函數調用時自動組裝為一個tuple,如下
想將列表當做可變參數傳入到函數中,可以在列表或元組前面加一個'*'號,把list或tuple的元素變成可變參數傳進去,如下
關鍵字參數
可變參數允許傳入0個或任意個參數,這些可變參數在函數調用時自動組裝為一個元組。而關鍵字參數允許你傳入0個或任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝為一個字典。如下:
一般,我們使用關鍵字參數擴展函數的功能。比如,在test函數里,我們保證能接收到name這個參數,但是,如果調用者可以提供更多的參數,我們也能收到。
想將字典當做可變參數傳入到函數中,可以在dict前面加 ** 號,把dict中元素變成可變參數傳進去,如下
參數組合
在Python中定義函數,可以將位置參數、默認參數、可變參數、關鍵字參數組合使用。但是需要注意,參數定義的順序必須按照:位置參數、默認參數、可變參數、關鍵字參數的順序使用。如下。
若對你有所幫助,歡迎大家評論、留言、關注,感謝支持!