1.函數(shù)
1.函數(shù)的定義: 函數(shù)就是對實(shí)現(xiàn)某一特定功能的代碼段的封裝
2.函數(shù)的聲明:
def 函數(shù)名(形參列表):
函數(shù)體
注意: 1.python中不支持函數(shù)的重載(名字相同的函數(shù)只能有一個(gè))
2.聲明函數(shù)的時(shí)候函數(shù)體不會執(zhí)行
3.函數(shù)的調(diào)用
函數(shù)名(實(shí)參列表)
(重點(diǎn)!)函數(shù)的調(diào)用過程:
- 回到函數(shù)聲明的位置
- 傳參
- 執(zhí)行函數(shù)體
- 指定完函數(shù)稼虎,確定函數(shù)返回值
怎么確定返回值: 看執(zhí)行完函數(shù)有沒有遇到return衅檀,如果遇到return后面的值就是函數(shù)返回值,否則就是None - 回到函數(shù)調(diào)用的位置霎俩,接著往后執(zhí)行哀军。(這個(gè)時(shí)候函數(shù)調(diào)用表達(dá)式的值就是函數(shù)的返回值)
4.函數(shù)的參數(shù)
1)位置參數(shù)和關(guān)鍵字參數(shù)(位置參數(shù)要在關(guān)鍵字參數(shù)前)
2)參數(shù)默認(rèn)值 (沒有默認(rèn)值的參數(shù)要放在前面)
3)函數(shù)中參數(shù)和返回值類型說明
4)不定長參數(shù)
*參數(shù)名, **參數(shù)名
5.返回值
1)怎么確定返回值: 看return
2)怎么獲取返回值: 使用函數(shù)調(diào)用表達(dá)式
2.匿名函數(shù)
匿名函數(shù)就是沒有名字的函數(shù)
1)語法
lambda 參數(shù)列表:返回值
2)說明
lambda - 關(guān)鍵字
參數(shù)列表 - 相當(dāng)于普通函數(shù)的形參列表, 變量1,變量2,...
: - 固定寫法
返回值 - 相當(dāng)于普通函數(shù)函數(shù)體中的return語句〈蛉矗可以是除了賦值語句以外的任何語句
注意:1.匿名函數(shù)本質(zhì)還是函數(shù)杉适,之前函數(shù)中將的語法絕大多數(shù)都適用(通過類型名對參數(shù)類型說明不支持的)
2.匿名函數(shù)能做的事情,普通函數(shù)都可以做柳击。只是匿名函數(shù)簡潔
3.變量
1.變量的作用域
指的就是變量的使用范圍
2.全局變量猿推、局部變量
1)全局變量: 沒有聲明在函數(shù)中的變量都是全局變量, 全局變量的作用域是從變量聲明開始到整個(gè)py文件結(jié)束
2)局部變量: 聲明在函數(shù)中的變量都是局部變量, 作用域是從變量聲明到函數(shù)結(jié)束
注意: 形參也是局部變量
當(dāng)在調(diào)用函數(shù)的實(shí)習(xí),系統(tǒng)會自動的在內(nèi)存的棧區(qū)間為這個(gè)函數(shù)開辟一個(gè)獨(dú)立的內(nèi)存區(qū)域捌肴,
用來保存在函數(shù)中聲明的變量或者產(chǎn)生的數(shù)據(jù)蹬叭。當(dāng)函數(shù)調(diào)用結(jié)束后,這塊內(nèi)存區(qū)域會自動銷毀