寫在前面:
經(jīng)過前面幾部分的學(xué)習(xí),我們已經(jīng)可以開發(fā)常規(guī)的一些簡單功能處理程序了。
但是對于我們的項目開發(fā)還是遠遠不夠的。本節(jié)內(nèi)容開始進入基礎(chǔ)進階部分的學(xué)習(xí)
1. 什么是函數(shù)
我們通常在進行一些功能處理的過程中,需要執(zhí)行一行或者多行代碼來完成整個業(yè)務(wù)流程的處理,如:
# 計算指定半徑的圓的面積
# 定義圓周率
pi = 3.1415926;
# 指定用戶輸入圓的半徑,通過int()將輸入的數(shù)據(jù)轉(zhuǎn)換成整數(shù)
r = int(input("請輸入圓的半徑:"));
# 執(zhí)行計算功能,求取圓的面積
area = pi * (r ** 2);
print("您要求的半徑為" + r + "的圓的面積為:" + str(area));
上面這段程序相信大家都能看懂,就是求取用戶輸入一個指定半徑的圓的面積
如果我們在不確定的某個時刻,又需要求取另一個圓的面積,應(yīng)該怎么做呢?
思考中....沒事,我重新寫一下這段代碼!
這樣,合適嗎?!
合適,但是存在問題,什么問題呢…就是代碼重復(fù),工作重復(fù),如果每天這樣大量重復(fù)的工作出現(xiàn),程序就不再是編程,而是搬磚了。
此時,我們python和其他編程語言一樣,可以將這段程序封裝成函數(shù),通過一個定義的函數(shù)封裝好這些代碼,在某些需要的時候,通過函數(shù)的名稱直接調(diào)用即可。
1.1. 函數(shù)的定義
函數(shù)的定義非常簡單,python中通過def關(guān)鍵字來定義函數(shù)
def 函數(shù)名稱(參數(shù)列表):
函數(shù)中封裝的代碼塊
[return 返回值]
代碼塊,就是多行代碼作為一個整體,在python中,通過縮進的方式來確定不同的代碼塊,臨近的相同縮進的代碼為一個整體代碼塊。
一個python程序中,所有出現(xiàn)縮進的空格數(shù)量必須一致。
函數(shù)中的封裝的代碼塊必須是縮進一定部分的多行代碼。
按照上面的例子,我們定義一個求取圓的面積的函數(shù)
# 定義一個函數(shù),用于計算指定半徑的圓的面積
def getCircleArea(radius):
pi = 3.1415926;
area = pi * (radius ** 2);
return area;
如上所示,一個計算圓的面積的函數(shù)就被定義好了,函數(shù)的名稱為getCircleArea。
切記,定義函數(shù)不會讓函數(shù)中的代碼執(zhí)行。
1.2. 函數(shù)的調(diào)用
定義好的函數(shù),我們需要通過函數(shù)的名稱來調(diào)用函數(shù),函數(shù)中的代碼才會執(zhí)行。
調(diào)用函數(shù)通過函數(shù)名稱()來調(diào)用函數(shù),后面的圓括號中,可以根據(jù)定義函數(shù)的參數(shù)列表給函數(shù)傳遞對應(yīng)的參數(shù)
r = int(input("請輸入圓的半徑:"));
a = getCircleArea(r);
print("圓的面積是:" + str(a));
這樣,我們就可以在需要的時候,直接通過定義好的函數(shù)名稱getCircleArea(radius)來進行函數(shù)功能的重復(fù)執(zhí)行了。
下一節(jié),我們針對函數(shù)的參數(shù)進行單獨的講解
