回覆列表
  • 1 # 軟體測試開發技術棧

    我們除了知道如何檢視函式的呼叫引數資訊,還需要知道引數的型別,否則可能也無法正確的傳入對應引數。

    函式的引數型別

    Python 的函式的引數型別可分為以下引數型別:

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

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

    引數型別又可劃分為:

    位置引數預設引數可變引數關鍵字引數位置引數

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

    當呼叫test(input) 函式時,若不傳遞任何引數,則將執行時會丟擲異常,如下:

    預設引數

    在Python中定義函式時,可以給形參預設賦予一個固定值,即為預設值。

    在呼叫函式給形參提供實參時,就使用傳入的實參值,若不傳參,則使用形參的預設值,因此,給形參指定預設值後,在函式呼叫中可省略相應的實參,如下:

    可變引數

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

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

    關鍵字引數

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

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

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

    引數組合

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

  • 中秋節和大豐收的關聯?
  • 根據既有的劇集內容預測,《家有兒女》裡的三位小主人公長大以後最有可能從事什麼工作?