Python函式彙總,別再說自己不懂函數了

一、定義和呼叫函式

1. 定義函式

格式

functionname:函式名

parameterlist:引數。可以為空,可以為多個引數,用逗號隔開

comments:可選引數

functionbody:可選引數,語句體呼叫函式後要執行的功能程式碼

函式:系統函式、自定義函式

呼叫函式:

呼叫函式就是執行函式

系統函式、自定義函式都是用函式名來呼叫

pass空語句:不做任何事情,起到佔位作用,可以用…來代替pass

自定義函式

num1、num2、str都是函式的引數,在函式體中,函式類似於變數

函式呼叫、呼叫函式

計算兩個數相加

2。 引數和返回值

主調函式和被呼叫函式之間一般都有資料傳遞關係

引數:

形參:定義函式時,括號裡的引數

實參:呼叫函式時,函式後面的引數

引數的作用是傳遞資料給函式使用

實參:

值傳遞:實參為不可變物件時,改變形參的值,實參值不變

引用傳遞:實參為可變物件時,改變形參的值,實參的值也會改變

位置引數(必備引數)

必須按照正確的順序傳遞到函式中,即呼叫時數量和位置必須與定義的相同

關鍵字引數:使用形參的名字來輸入引數的值,不需要與形參的的位置一致

例1

引數傳遞

列表作為引數傳遞

這裡在最後的一個輸出會多一個號,可以最佳化

字典作為引數傳遞

可變引數(不定引數)

傳入函式中的實際引數可以是0個、1個或多個

可變引數的兩種形式:

*parameter——接受任意多個實際引數並將其放到一個元組中

**parameter——接受任意多個顯示賦值的實際引數,並將其放到一個字典中

使用已存在的列表作為函式的可變引數,在列表名稱前加

使用已存在的字典作為函式的可變引數,可在字典的名稱前面加

返回值

作用:將函式處理的結果返回給呼叫它的程式

返回值不是必須的,如果沒有return語句,預設返回None

返回值可以是任意型別,只要return得到執行,就會直接結束函式的執行

返回一個值,該值可以是任意型別

返回多個值,儲存為一個元組

:輸出一個列表中的偶數

二、變數的作用域

作用域

指程式程式碼能夠訪問該變數的區域,即變數的有效範圍

區域性變數

在函式內部定義的變數,只能在函式內使用

只在函式執行時建立,執行之前、之後都不存在

全域性變數

在函式外定義的變數

函式內定義,但是用global關鍵字修飾後的變數

在定義後的任何地方都有效

如果全域性變數和區域性變數重名,函式體內只有區域性變數有效

三、匿名函式

python使用lambda來建立匿名函式

lambda是一個表示式,函式體比def簡單

lambda的主體是表示式,不是程式碼塊。僅能在lambda表示式中封裝有限的邏輯

lambda函式擁有自己的名稱空間,不能訪問自有引數列表以外或全域性命名空間裡的引數

語法:

匿名函式主要應用在需要一個函式而不必去命名這個函式

lambda函式看似只能寫一行,卻不同於C或C++的行內函數

行內函數的目的是呼叫小函式時不佔用棧記憶體從而增加執行效率

lambda優勢:

更精簡,省略定義普通函式的過程,適合寫指令碼

提高了程式碼可讀性

替代比較抽象且呼叫次數不多的函式,簡化命名

四、內建函式

1。 數值運算函式

2。 字串處理函式

Python函式彙總,別再說自己不懂函數了

數學運算函式

字串處理函式

拓展

透過指定分隔符對字串進行切片

語法:

str – 分隔符,預設為所有的空字元,包括空格、換行(\n)、製表符(\t)等

num – 分割次數。預設為 -1, 即分隔所有

如果第二個引數 num 有指定值,則分割為 num+1 個子字串。

按照行(’\r’, ‘\r\n’, \n’)分隔,返回一個包含各行作為元素的列表

語法:

keepends – 在輸出結果裡是否去掉換行符

預設False,不包含換行符

True則保留換行符

將序列中的元素以指定的字元連線生成一個新的字串

語法:

sequence – 要連線的元素序列

五、其他常用內建函式

1。 help()

檢視命令幫助手冊

2。 type()

檢視變數型別

作業練習

: 答案參考【https://urlify。cn/a6Vreq】

定義一個getMax( )函式,返回三個數(從鍵盤輸入的整數)中的最大值

定義一個函式,判斷輸入的三個數字是否能夠構成三角形的三條邊

定義一個函式,求兩個正整數的最小公倍數

編寫函式,可以接收任意多個整數並輸出其中的最大值和所有整數之和

-END-