官术网_书友最值得收藏!

1.2.6 函數

函數是組織好的、可重復使用的代碼,能提高應用的模塊性和代碼的重復利用率。Python提供了許多內置函數,當然用戶也可以自己定義函數。

1.內置函數

內置函數無須用戶定義,直接調用即可,例如前面經常使用到的print()函數,可以用此函數在屏幕上打印輸出數據。

2.自定義函數

除了使用Python內置函數,用戶也可以自己定義函數。自定義函數語法如下:

創建自定義函數的規則如下:

(1)以def關鍵詞開頭,后接函數名稱和圓括號(),再接冒號。

(2)傳入的參數必須放在圓括號中,圓括號之間用于定義參數。

(3)函數代碼塊內容以冒號起始,并且縮進。

(4)return后接函數的最終返回值。

例如定義fun()函數,其中x和y是fun()函數的兩個參數,此函數將x和y參數接收的值相加,然后賦值給變量z,最后將變量z的值作為此函數的返回值,示例代碼如下:

運行結果如下:

3.匿名函數

匿名函數是一種特殊的自定義函數,特殊在定義的函數沒有名稱。一般在自定義功能比較簡易的函數時,可以定義成匿名函數。Python中使用lambda來創建匿名函數。語法結構如下:

下面定義一個匿名函數,示例代碼如下:

運行結果如下:

講解一下此匿名函數的定義和使用方法,lambda后設置了x和y兩個參數,冒號后是函數的返回值表達式,此匿名函數的處理方式為將參數x和y接收的值相加。此時lambda x,y:x+y就是一個完整的匿名函數。在函數后傳入100和99,函數中的x和y參數接收到值后,再將兩個值相加,最后返回值為199。

也可以將定義好的匿名函數賦值給變量,變量就相當于是函數名,這樣看起來與普通函數的用法相同,示例代碼如下:

運行結果如下:

4.函數的參數調用

函數的調用很簡單,這里主要講解函數的參數調用方式,函數的參數調用通常分為按位置給參數賦值和通過指定參數名稱給參數賦值。

按位置給參數賦值是對照函數的參數位置一一賦值,但如果遇到函數的參數比較多,并且只需使用到其中一部分參數時,如果按照參數位置賦值,函數就顯得比較臃腫、不簡潔,則可以通過指定參數名稱來給這些參數賦值,這就是Python的關鍵字參數賦值。這種參數賦值方式有兩大優點:第一,不再需要考慮參數的順序,函數的使用將更加容易;第二,可以只對那些希望賦值的參數賦值。

下面羅列出了常見的參數賦值方式,示例代碼如下:

運行結果如下:

注意:函數的參數分為必選參數和可選參數,例如自定義函數fun(x,y=1,z=0),x就是必選參數,表示必須填寫;而y和z是可選參數,表示可以填寫,也可以不填寫(因為可選參數有默認值)。

主站蜘蛛池模板: 通州市| 那曲县| 正安县| 资阳市| 天峻县| 河曲县| 海盐县| 固阳县| 乌拉特前旗| 台前县| 濮阳县| 扎赉特旗| 万年县| 通山县| 滕州市| 建平县| 铜鼓县| 邢台市| 拉萨市| 林甸县| 湾仔区| 称多县| 清流县| 中西区| 应城市| 盖州市| 色达县| 密山市| 丹江口市| 班玛县| 临沂市| 东丰县| 津市市| 屏边| 南平市| 三都| 辽中县| 宁国市| 陆丰市| 天柱县| 彭阳县|