python調用函數時,如何知道函數參數類型?

紫衣人2016


通過IDE可以非常簡單的知道所調用函數的參數信息,以Pycharm為例,按住Ctrl,鼠標移動到函數處,即可查看函數的參數,若點擊函數,則可以跳轉到該函數定義代碼,查看詳細信息,如下Gif圖。


我們除了知道如何查看函數的調用參數信息,還需要知道參數的類型,否則可能也無法正確的傳入對應參數。


函數的參數類型

Python 的函數的參數類型可分為以下參數類型:

形參 :形參就是形式上的參數,沒有明確的值,需要賦值後才有意義,相當於變量,一般 定義函數的時候用的是形參 ,比如:

實參:實參就是實際意義上的參數,實際明確的值,比如是字符串、數字等,一般調用函數的時候,用的是實參,比如:

參數類型又可劃分為:

  • 位置參數
  • 默認參數
  • 可變參數
  • 關鍵字參數

位置參數

在Python中調用函數時,必須將函數調用中的每個實參都關聯到函數定義中的對應形參,不能多也不能少,實參傳遞順序應與函數定義的形參順序相同,即為位置參數。

當調用test(input) 函數時,若不傳遞任何參數,則將執行時會拋出異常,如下:


默認參數

在Python中定義函數時,可以給形參默認賦予一個固定值,即為默認值。

在調用函數給形參提供實參時,就使用傳入的實參值,若不傳參,則使用形參的默認值,因此,給形參指定默認值後,在函數調用中可省略相應的實參,如下:


可變參數

在Python中定義函數時,當參數個數不確定時,在定義函數時可使用如下形式,把所有參數作為可變參數傳到input裡面進去,調用該函數時,可以傳入任意個參數,包括0個參數,這些可變參數在函數調用時自動組裝為一個tuple,如下

想將列表當做可變參數傳入到函數中,可以在列表或元組前面加一個'*'號,把list或tuple的元素變成可變參數傳進去,如下


關鍵字參數

可變參數允許傳入0個或任意個參數,這些可變參數在函數調用時自動組裝為一個元組。而關鍵字參數允許你傳入0個或任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝為一個字典。如下:

一般,我們使用關鍵字參數擴展函數的功能。比如,在test函數里,我們保證能接收到name這個參數,但是,如果調用者可以提供更多的參數,我們也能收到。

想將字典當做可變參數傳入到函數中,可以在dict前面加 ** 號,把dict中元素變成可變參數傳進去,如下


參數組合

在Python中定義函數,可以將位置參數、默認參數、可變參數、關鍵字參數組合使用。但是需要注意,參數定義的順序必須按照:位置參數、默認參數、可變參數、關鍵字參數的順序使用。如下。

若對你有所幫助,歡迎大家評論、留言、關注,感謝支持!


分享到:


相關文章: