record
1.函數(shù)的定義:函數(shù)就是對實現(xiàn)某一特定功能的代碼段的封裝
2.函數(shù)的聲明:
def 函數(shù)名(形參列表):
函數(shù)體
注意:
1.python中不支持函數(shù)的重載(名字相同的函數(shù)只有一個)
2.聲明函數(shù)的時候函數(shù)體不會執(zhí)行
3.函數(shù)的調(diào)用
函數(shù)名(實參列表)
匿名函數(shù)
1.什么是匿名函數(shù)
匿名函數(shù)就是沒有名字的函數(shù)
1.1.語法
lambda 參數(shù)列表:返回值
1.2.說明
lambda - 關(guān)鍵字
參數(shù)列表 - 相當于普通函數(shù)的形參列表,變量1,變量2,……
: - 固定寫法
返回值 - 相當于普通函數(shù)函數(shù)體中的return語句佛纫∧蛘校可以是除了賦值語句以外的任何語句
注意:
1.匿名函數(shù)本質(zhì)還是函數(shù)慧域,之前函數(shù)中將的語句絕大多數(shù)都是用(通過類型名對參數(shù)類型說明不支持的)
2.匿名函數(shù)能做的事情,普通函數(shù)都可以做搅方。只是匿名函數(shù)簡潔
變量的作用域
1.變量的作用域
指的就是變量的使用范圍
2.全局變量谬哀、局部變量
2.1.全局變量:沒有聲明在函數(shù)/類中的變量都是全局變量刺覆,全局變量的作用域是從變量聲明開始到整個py文件結(jié)束
2.2.局部變量:聲明在函數(shù)中的變量都是局部變量,作用域是從變量聲明到函數(shù)結(jié)束
注意:形參也是局部變量
當在調(diào)用函數(shù)的時候史煎,系統(tǒng)會自動的在內(nèi)存的棧區(qū)間為這個函數(shù)開辟一個獨立的內(nèi)存區(qū)域谦屑,用來保存在函數(shù)中聲明的變量或者產(chǎn)生的數(shù)據(jù)。當函數(shù)調(diào)用結(jié)束后篇梭,這塊內(nèi)存區(qū)域會自動銷毀
3.global和nonlocal
3.1.global - 在函數(shù)聲明一個全局變量(只能在函數(shù)中使用)
global 變量名
變量名 = 值
3.2.nonlocal - 想要在局部的局部中去修改一個局部變量的值氢橙,就使用nonlocal
def func5():
x2 = 100
def func6():
nonlocal x2
x2 = 200
print('函數(shù)中的函數(shù):', x2)
func6()
print('函數(shù)中:', x2)