Python開發的入門教程(六)-函式
阿新 • • 發佈:2020-09-01
## 介紹
本文主要介紹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):