1. 程式人生 > >Python開發的入門教程(六)-函式

Python開發的入門教程(六)-函式

## 介紹 本文主要介紹Python中**函式**的基本知識和使用 ## Python之什麼是函式 我們知道圓的面積計算公式為: S = πr² 當我們知道半徑r的值時,就可以根據公式計算出面積。假設我們需要計算3個不同大小的圓的面積: ``` r1 = 12.34 r2 = 9.08 r3 = 73.1 s1 = 3.14 * r1 * r1 s2 = 3.14 * r2 * r2 s3 = 3.14 * r3 * r3 ``` 當代碼出現有規律的重複的時候,你就需要當心了,每次寫3.14 * x * x不僅很麻煩,而且,如果要把3.14改成3.14159265359的時候,得全部替換。 有了函式,我們就不再每次寫s = 3.14 * x * x,而是寫成更有意義的函式呼叫 s = area_of_circle(x),而函式 area_of_circle 本身只需要寫一次,就可以多次呼叫。 抽象是數學中非常常見的概念。舉個例子: 計算數列的和,比如:1 + 2 + 3 + ... + 100,寫起來十分不方便,於是數學家發明了求和符號∑,可以把1 + 2 + 3 + ... + 100記作: ``` 100 ∑n n=1 ``` 這種抽象記法非常強大,因為我們看到∑就可以理解成求和,而不是還原成低階的加法運算。 而且,這種抽象記法是可擴充套件的,比如: ``` 100 ∑(n²+1) n=1 ``` 還原成加法運算就變成了: ``` (1 x 1 + 1) + (2 x 2 + 1) + (3 x 3 + 1) + ... + (100 x 100 + 1) ``` 可見,藉助抽象,我們才能不關心底層的具體計算過程,而直接在更高的層次上思考問題。 寫計算機程式也是一樣,函式就是最基本的一種程式碼抽象的方式。 Python不但能非常靈活地定義函式,而且本身內建了很多有用的函式,可以直接呼叫。 ## Python之呼叫函式 Python內建了很多有用的函式,我們可以直接呼叫。 要呼叫一個函式,需要知道函式的名稱和引數,比如求絕對值的函式 abs,它接收一個引數。 可以直接從Python的官方網站檢視文件:http://docs.python.org/2/library/functions.html#abs 也可以在互動式命令列通過 help(abs) 檢視abs函式的幫助資訊。 呼叫 abs 函式: ``` >>> abs(100) 100 >>> abs(-20) 20 >>> abs(12.34) 12.34 ``` 呼叫函式的時候,如果傳入的引數數量不對,會報TypeError的錯誤,並且Python會明確地告訴你:abs()有且僅有1個引數,但給出了兩個: ``` >>> abs(1, 2) Traceback (most recent call last):