python語法基礎歸納 3 函式

2021-07-11 08:12:27 字數 2212 閱讀 6217

摘要:本文主要講述python中的函式機制,主要涵蓋函式的定義格式、引數傳遞機制、函式的呼叫方法、lambda函式和生成器generator函式等。文中所有示例均由python2.7編譯器驗證通過。

def func_name( arg1[=value1] , arg2[=value2] ... )

....

return ..

python任何變數都是物件,所以引數只支援按引用傳遞的方式,形式引數和實際引數共用同一儲存空間。

(1)位置引數

函式呼叫時實際引數和形式引數的順序、型別必須一致。

(2)關鍵字引數

通過賦值表示式傳遞引數,不用關心引數列表的順序

(3)預設引數

當呼叫時沒有提供實際引數時,函式將使用定義時的預設值。

(4)可變長度引數

函式定義時在引數前面使用星號識別符號(*args),表示實際引數將被打包成乙個元組,傳遞給形式引數args。

lambda函式用於建立乙個匿名函式,函式名未和識別符號繫結。函式格式為:

lambda arg1,arg2,… : expression

其中,變數列表用於表示式的計算。lambda屬於函式,因此變數列表後需要乙個冒號。通常把lambda賦值給乙個變數,使變數可以作為函式使用。

func = lambda arg1,arg2,... :expression    #賦值

func() #呼叫

(1)生成器函式每次返回乙個資料項,並把資料項輸出,使得迭代器效能更佳。

(2)generator函式的定義和普通函式沒有區別,只要在函式體內使用yield生成資料項即可。

(3)generator函式可以被for迴圈遍歷,也可以通過next()方法獲取yield語句生成的資料項。其中,next()方法遍歷到最後會丟擲stopiteration異常。

(4)yield生成值並不會終止程式的執行,返回值後程式繼續向後執行;return返回值後,程式將終止執行。

filter(func or none, sequence) -> list, tuple, or string

#返回能使過濾函式func()返回值為true(或非零)的sequence子串行。如果過濾函式為none,則返回原序列。

#使用函式func(有且僅允許有兩個引數)對序列seq的元素「從左到右」進行累積處理,最後得到乙個值。初始引數initial可以省略,如果initial不為空,則將initial先傳入func進行計算。

#對多個序列的每個元素都執行相同的操作,返回乙個列表。如果序列只有乙個,則將序列的元素依次經過func處理返回;如果序列有多個,則將每個序列對應相同索引的元素同時傳入func處理返回。

Python基礎語法(3)

與計算機溝通的邏輯 條件判斷 在python中,條件判斷語句總共有三種表現形式 在基礎條件滿足的情況下,再在基礎條件底下增加額外的條件判斷。print 函式是人給程式下達乙個列印命令。這種程式向螢幕輸出資訊的過程,是人與計算機的單向溝通。但是,如果想實現真正的人機互相溝通,就要有來有往。人類用鍵盤向...

Python基礎語法函式

python中的函式與數學中的函式不同,它不再只是公式,而是實實在在有著自己特定功能的 其實在潛移默化中我們已經有所接觸了。比如print 函式,range 函式,type 函式等。函式各式各樣,或簡單或複雜,但其本質卻好是相通的 給函式一些資料,函式進行處理,輸出你想要的東西。函式名後面的括號裡放...

Python3 基礎語法

注釋方式 這是注釋 這是注釋 這是注釋 字串 str hello print str 輸出字串 print str 0 1 輸出第乙個到倒數第二個的所有字元 print str 0 輸出字串第乙個字元 print str 2 4 輸出從第三個開始到第四個的字元 print str 2 輸出從第三個開...