13.程式程式設計進階:函式

大牧莫邪發表於2017-05-17

寫在前面: 經過前面幾部分的學習,我們已經可以開發常規的一些簡單功能處理程式了。 但是對於我們的專案開發還是遠遠不夠的。本節內容開始進入基礎進階部分的學習

1. 什麼是函式

我們通常在進行一些功能處理的過程中,需要執行一行或者多行程式碼來完成整個業務流程的處理,如: ```

# 計算指定半徑的圓的面積
# 定義圓周率
pi = 3.1415926;
# 指定使用者輸入圓的半徑,通過int()將輸入的資料轉換成整數
r = int(input("請輸入圓的半徑:"));
# 執行計算功能,求取圓的面積
area = pi * (r ** 2);
print("您要求的半徑為" + r + "的圓的面積為:"  + str(area));

``` 上面這段程式相信大家都能看懂,就是求取使用者輸入一個指定半徑的圓的面積 如果我們在不確定的某個時刻,又需要求取另一個圓的面積,應該怎麼做呢?

思考中....沒事,我重新寫一下這段程式碼! 這樣,合適嗎?! 合適,但是存在問題,什麼問題呢…就是程式碼重複,工作重複,如果每天這樣大量重複的工作出現,程式就不再是程式設計,而是搬磚了。

此時,我們python和其他程式語言一樣,可以將這段程式封裝成函式,通過一個定義的函式封裝好這些程式碼,在某些需要的時候,通過函式的名稱直接呼叫即可。

1.1. 函式的定義

函式的定義非常簡單,python中通過def關鍵字來定義函式 ```

def 函式名稱(引數列表):
    函式中封裝的程式碼塊
     [return 返回值]

```

程式碼塊,就是多行程式碼作為一個整體,在python中,通過縮排的方式來確定不同的程式碼塊,臨近的相同縮排的程式碼為一個整體程式碼塊。 一個python程式中,所有出現縮排的空格數量必須一致。 函式中的封裝的程式碼塊必須是縮排一定部分的多行程式碼。

按照上面的例子,我們定義一個求取圓的面積的函式 ```

# 定義一個函式,用於計算指定半徑的圓的面積
def getCircleArea(radius):
    pi = 3.1415926;
    area = pi * (radius ** 2);
    return area;

``` 如上所示,一個計算圓的面積的函式就被定義好了,函式的名稱為getCircleArea。 切記,定義函式不會讓函式中的程式碼執行。

1.2. 函式的呼叫

定義好的函式,我們需要通過函式的名稱來呼叫函式,函式中的程式碼才會執行。 呼叫函式通過函式名稱()來呼叫函式,後面的圓括號中,可以根據定義函式的引數列表給函式傳遞對應的引數 ```

r = int(input("請輸入圓的半徑:"));
a = getCircleArea(r);
print("圓的面積是:" + str(a));

``` 這樣,我們就可以在需要的時候,直接通過定義好的函式名稱getCircleArea(radius)來進行函式功能的重複執行了。

下一節,我們針對函式的引數進行單獨的講解

相關文章