一、認(rèn)識(shí)函數(shù)
所謂函數(shù),就是把 具有獨(dú)立功能的代碼塊 組織為一個(gè)小模塊,在需要的時(shí)候 調(diào)用。簡(jiǎn)單地說(shuō),一個(gè)函數(shù)就是一組Python語(yǔ)句的組合,它們可以在程序中運(yùn)行一次或多次運(yùn)行。
有了函數(shù),我們可以在很大程度上減少?gòu)?fù)制及粘貼代碼的次數(shù)了(相信很多人在剛開始時(shí)都有這樣的體驗(yàn))。我們可以把相同的代碼可以提煉出來(lái)做成一個(gè)函數(shù),在需要的地方只需要調(diào)用即可。那么,這樣就提高了代碼的復(fù)用率了,整體代碼看起來(lái)比較簡(jiǎn)練,沒(méi)有那么臃腫了。
二、函數(shù)基本格式
1.函數(shù)定義:函數(shù)名其實(shí)就是指向一個(gè)函數(shù)對(duì)象的引用(地址),完全可以把函數(shù)名賦給一個(gè)變量
格式如下:
def函數(shù)名(參數(shù)名列表):
(1) 函數(shù)名稱 應(yīng)該能夠表達(dá) 函數(shù)封裝代碼 的功能,方便后續(xù)的調(diào)用
(2)函數(shù)名稱 的命名應(yīng)該 符合 標(biāo)識(shí)符的命名規(guī)則
- 可以由 字母、下劃線 和 數(shù)字 組成
- 不能以數(shù)字開頭
- 不能與關(guān)鍵字重名
2.函數(shù)調(diào)用:通過(guò) 函數(shù)名() 即可完成對(duì)函數(shù)的調(diào)用
格式如下:
函數(shù)名(參數(shù)名列表):
三、函數(shù)參數(shù)
函數(shù)的參數(shù),增加函數(shù)的 通用性,針對(duì) 相同的數(shù)據(jù)處理邏輯,能夠 適應(yīng)更多的數(shù)據(jù)
- 在定義函數(shù)時(shí),函數(shù)名后面圓括號(hào)中的變量名稱叫做形式參數(shù),或簡(jiǎn)稱“形參”;
形參:定義 函數(shù)時(shí),小括號(hào)中的參數(shù),是用來(lái)接收參數(shù)用的,在函數(shù)內(nèi)部 作為變量使用 - 在調(diào)用函數(shù)時(shí),函數(shù)名后面圓括號(hào)中的變量名稱叫做“實(shí)際參數(shù)”,或簡(jiǎn)稱為“實(shí)參”
實(shí)參:調(diào)用 函數(shù)時(shí),小括號(hào)中的參數(shù),是用來(lái)把數(shù)據(jù)傳遞到函數(shù)內(nèi)部用的,在函數(shù)內(nèi)部,把參數(shù)當(dāng)做變量使用,進(jìn)行需要的數(shù)據(jù)處理
函數(shù)調(diào)用時(shí),按照函數(shù)定義的參數(shù)順序,把 希望在函數(shù)內(nèi)部處理的數(shù)據(jù),通過(guò)參數(shù) 傳遞
如:打印1,2,3
def number(x,y,z):
print(x)
print(y)
print(z)
number(1,2,3)
其中 x,y,z 為形式參數(shù)(形參),1,2,3 為實(shí)際參數(shù)(實(shí)參)
四、函數(shù)的返回值return
- 在程序開發(fā)中,有時(shí)候,會(huì)希望 一個(gè)函數(shù)執(zhí)行結(jié)束后,告訴調(diào)用者一個(gè)結(jié)果,以便調(diào)用者針對(duì)具體的結(jié)果做后續(xù)的處理
- 返回值 是函數(shù) 完成工作后,最后 給調(diào)用者的 一個(gè)結(jié)果
- 在函數(shù)中使用 return 關(guān)鍵字可以返回結(jié)果
- 調(diào)用函數(shù)一方,可以 使用變量 來(lái) 接收 函數(shù)的返回結(jié)果
注意:return 表示返回,后續(xù)的代碼都不會(huì)被執(zhí)行
如:求1,2的和
def add_num(a,b):
c = a+b
return c
add_num(1,2)
五、函數(shù)嵌套
一個(gè)函數(shù)里面 又調(diào)用 了 另外一個(gè)函數(shù),這就是 函數(shù)嵌套調(diào)用
定義函數(shù)
用def定義函數(shù)test1(),用來(lái)打印50個(gè)“*”
def test1():
print("*" * 50)
test1()
然后再定義一個(gè)函數(shù)test2(),用來(lái)打印50個(gè)“-”
def test1():
print("*" * 50)
def test2():
print("-" * 50)
test2()
函數(shù)test2()調(diào)用函數(shù)test1()
那么我們?nèi)绾芜M(jìn)行嵌套調(diào)用呢?
在函數(shù)test2()中輸入一行test1(),代碼如下:
def test1():
print("*" * 50)
def test2():
print("-" * 50)
# 函數(shù)的嵌套調(diào)用
test1()
test2()