python函數高級

1. 默認參數

1.1 默認參數概念

默認參數指函數/方法在定義時爲形參賦值,對應的形參稱爲默認參數。默認參數是一個參數定義期的概念,與調用無關。函數

1.2 默認參數做用

若是參數定義默認參數,在調用函數/方法時,未對該參數進行傳值,則使用默認值做爲該參數的值。spa

1.3 默認參數基本語法

定義格式:3d

def 函數名(形參1 = 值1,...):
    函數體
    ......
複製代碼

調用格式一(同普通參數,無特殊):code

函數名(實參)  使用實參做爲形參的值,不適用默認值
複製代碼

調用格式二:cdn

函數名()   使用默認值做爲形參的值
複製代碼

1.4 注意事項

1.默認參數的定義必須在位置參數的右側對象

2.默認參數在調用傳值時,按照位置參數進行對待,從左至右依次賦值,不能跳過左側的某個參數直接爲後面的參數賦值

2. 關鍵字參數

2.1 關鍵字參數概念

函數/方法在調用時爲指定名稱的形參進行賦值,對應實參稱關鍵字參數。關鍵字參數是一個參數調用期的概念,與定義無關。blog

2.2 關鍵字參數的做用

按名稱確認實參爲指定的形參賦值。遞歸

2.3 關鍵字參數基本語法

定義格式(同普通參數定義,無特殊):it

def 函數名(形參,...):
    函數體
    ......
複製代碼

調用格式: 函數名(形參名 = 實參)io

2.4 注意事項

1.關鍵字參數必須出如今位置參數的後面

2.不容許使用關鍵字參數對同一個形參進行屢次賦值
3.關鍵字參數既能夠爲位置參數賦值,也能夠爲默認參數賦值。一般使用關鍵字參數解決默認參數選擇性賦值問題。

3. 可變參數

3.1 可變參數概念

函數/方法在定義時,定義一個特殊的形參,用於接收調用時傳入的任意數量的實參,對應的形參稱爲可變參數。 可變參數是一個參數定義期與調用期都有效的概念。

3.2 可變參數做用

簡化函數定義過程,定義能夠接收無數個實參的形參。形參接受到的數據,不管數量多少,包裝成一個元組對象。

3.3 可變參數基本語法

定義格式:

def 函數名(*args,...):
    函數體
    ......
複製代碼

調用格式(同普通參數,無特殊):

函數名(實參1,......)
複製代碼

3.4 注意事項

1.可變參數在一個函數/方法定義只能出現一個

2.可變參數只能出如今位置參數的後面,位置參數在左側,可變參數在右側。
3.默認參數只能出如今位置參數的後面,賦值時必須使用關鍵字參數傳值,不然值會被可變參數接收
4.定義函數的參數時,先定義位置參數,在定義可變參數,最後定義默認參數

4. 字典參數

4.1 字典參數概念

函數/方法在定義時,定義一個特殊的形參,用於接收未定義直接使用的關鍵字參數,對應的形參稱爲字典參數。

4.2 字典參數做用

簡化函數定義過程,接收未定義直接使用的關鍵字參數。在多層級調用間進行關鍵字參數的逐級傳遞。 未定義的關鍵字參數,不管數量多少,接收後包裝成一個字典對象。

4.3 字典參數基本語法

定義格式:

def 函數名(**kwargs,...):
    函數體
    ......
複製代碼

調用格式: 函數名(未定義的變量名1 = 實參1,未定義的變量名2 = 實參2,...)

4.4 注意事項

1.字典參數在一個函數/方法定義中只能出現一個

2.定義函數的參數時,先定義位置參數,再定義可變參數,而後默認參數,最後定義字典參數

4.5 說明

全部的容器都支持解包操做,格式:*容器變量名。部分支持自動組包,外部手動添加元組後,也可自動組包,完成運行

5. 遞歸函數*

5.1 遞歸函數的概念

函數/方法在執行過程當中出現了對自身函數/方法的調用,稱該過程爲遞歸調用,稱這樣的函數爲遞歸函數。

5.2 遞歸函數定義的要求

1.函數體中具備對自身函數的調用

2.函數體中具備明確的函數執行結束斷定條件

5.3 遞歸函數調用的要求

Python語言中函數調用最大層級爲1000層(含project函數,默認1000,可更改),超過該層級,程序將報錯

6. 匿名函數

6.1 匿名函數的概念

匿名函數即沒有名稱的函數,在Python語言中,匿名函數是使用lambda關鍵字定義的一個特殊表達式,也成爲lambda表達式。

6.2 匿名函數基本語法

格式一:

定義:函數名 = lambda 形參: 返回值
調用:結果 = 函數名(實參)
複製代碼

格式二:

定義並調用:結果 = (lambda 形參:返回值)(實參)
複製代碼

6.3 匿名函數特殊語法

無參格式:

結果 = (lambda:返回值)()
複製代碼

多返回值格式:無,可以使用數據存儲模型返回多個數據

無返回值格式:無,必須有具體值或結果爲None

相關文章
相關標籤/搜索