1、函數(shù)
2、函數(shù)的定義
3、函數(shù)的使用
4、函數(shù)的參數(shù)傳遞
5、函數(shù)的返回值
6、變量的作用域
7、代碼復(fù)用
8、lambda 函數(shù)
1.函數(shù)的定義:
函數(shù)是一段具有特定功能的、可重用的語句組,通過函數(shù)名來表示和調(diào)用的語句。經(jīng)過定義,一組語句等價于一個函數(shù),在需要使用這組語句的地方,直接調(diào)用函數(shù)名稱即可。
因此,函數(shù)的使用包括兩部分:函數(shù)的定義和函數(shù)的使用。
函數(shù)是一種功能抽象。
2.函數(shù)的調(diào)用
定義后的函數(shù)不能直接運行,需要經(jīng)過“調(diào)用”才能運行。調(diào)用函數(shù)的基本方法如下:

注意:
? 括號后面的冒號不能少;
? 即使該函數(shù)不需要接收任何參數(shù),也必須保留一對空括號;
? 函數(shù)體相對于 def 關(guān)鍵字必須保持一定的空格縮進。
? 函數(shù)形參不需要聲明其類型,也不需要指定函數(shù)的返回類型;
函數(shù)的參數(shù)傳遞:
1、位置參數(shù)
位置參數(shù)是比較常用的形式,調(diào)用函數(shù)時實參和形參的順序必須一致,并且數(shù)量相同。

2、默認(rèn)值參數(shù)
函數(shù)的參數(shù)在定義時也可以指定默認(rèn)值,函數(shù)調(diào)用時若該位置沒有給定實際參數(shù),則使用默認(rèn)值代替。但需
要注意可選參數(shù)應(yīng)當(dāng)放在非可選參數(shù)后面。
定義如下

3、關(guān)鍵字參數(shù)
Python 語言同時支持函數(shù)按照參數(shù)名稱方式傳遞參數(shù),此種傳參方式不必考慮實參和形參的順序。
調(diào)用方式如下:

4、可變長度參數(shù)
除了以上傳參方式以外,當(dāng)我們不確定會接受多少個參數(shù)的時候可以利用可變長度參數(shù)解決。
*param 接收任意多個參數(shù)放在一個元組中
**param 接收任意多個關(guān)鍵字參數(shù)放入字典中
定義方式如下:

變量的作用域:
根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。
局部變量僅在函數(shù)內(nèi)部,且作用域也在函數(shù)內(nèi)部,全局變量的作用域跨越多個函數(shù)。
1、局部變量
局部變量指在函數(shù)內(nèi)部使用的變量,僅在函數(shù)內(nèi)部有效,當(dāng)函數(shù)退出時變量將不再存在。

變量 z 是函數(shù) multiple()內(nèi)部使用的變
2、全局變量
全局變量指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全部變量在函數(shù)內(nèi)部使用時,需要提前使用保留字 global 聲明,語法形式如下量,當(dāng)函數(shù)調(diào)用后,變量 z 將不存在。

當(dāng)在函數(shù)內(nèi)部需要修改全局變量,必須使用 global 先聲明,否則默認(rèn)為局部變量。

當(dāng)局部變量與全局變量同名時,函數(shù)內(nèi)部會優(yōu)先使用局部變量。

函數(shù)的返回值:
? return 語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。
? return 語句可以出現(xiàn)在函數(shù)中的任何部分。
? return 可以同時返回 0 個或多個函數(shù)運算的結(jié)果給函數(shù)被調(diào)用處的變量。
? 當(dāng) return 返回多個值時,返回的值形成元組數(shù)據(jù)類型。
? 函數(shù)也可以沒有 return 代表無返回值。


代碼的復(fù)用:
函數(shù)是將一部分代碼組織起來供其他代碼使用,函數(shù)封裝的直接好處就是代碼復(fù)用,任何代碼只要輸入?yún)?shù)即可調(diào)用函數(shù),從而避免相同功能代碼在被調(diào)用處重復(fù)編寫。


模塊化設(shè)計指通過函數(shù)的封裝功能將程序劃分為主程序、子程序和子程序間關(guān)系的表達。模塊化設(shè)計是使用函數(shù)
設(shè)計程度的思考方法,以功能為基本單位,一般由兩個基本要求:
? :盡可能合理劃分功能模塊,功能塊內(nèi)部耦合緊密。
? :模塊間關(guān)系盡可能簡單,功能塊之間耦合度低。
耦合性指程序中各模塊之間想相互關(guān)聯(lián)的程度。
匿名函數(shù):
匿名函數(shù)適合處理臨時需要一個類似于函數(shù)的功能但又不想定義函數(shù)的場合,可以省去函數(shù)的定義過程和考慮函
數(shù)的命名,讓代碼更加簡潔,可讀性更好。表達式如下:
例如:


如何使用
