大爽Python入門教程 4-2 函式返回值 return
阿新 • • 發佈:2021-11-18
大爽Python入門公開課教案 點選檢視教程總目錄
1 情景思考
上面的函式calculate_sum
是把計算的結果,
直接在函式中通過print
輸出了出來。
有的時候我們可能希望把結果拿出來,在函式外面來輸出。
更有時候,我們需要使用結果中的值,做一些額外的計算。
比如這裡想額外計算,
n=10, 100, 1000, 10000, 100000時,不同S之間的差值(絕對值)。
這個時候,就需要一種機制。
將函式執行完的資料拿出來,拿到函式外面來使用。
2 使用return
把函式中的結果拿出來,
一般使用return
語句,此時叫把結果返回出來,這個結果又叫做返回值。
修改calculate_sum
為get_sum
函式,將結果返回出來。
其程式碼如下
def get_sum(n):
k = 1
s = 0
for i in range(n):
s += k / (i + 1)
k = -k
return s
而此時呼叫時,要得到返回值,需要用一個變數來接住。
其呼叫程式碼示例:
s1 = get_sum(100)
此時s1就把函式中,執行完後的s的值拿到了。
3 return
說明
return
語句,是函式的返回語句,執行到這裡函式直接終止並返回return
後結果。
return
可以返回多個結果,此時會打包成元組返回。
示例如下
def cal_sum_and_diff(a, b): s = a + b d = a - b return s, d # same as return (s, d)
此時接收返回值可以用一個變數接收,也可以用對應個數個變數去接收。
sd = cal_sum_and_diff(10, 5) # sd: (15, 5)
s, d = cal_sum_and_diff(10, 5)
# s:15 , d: 5
不寫return
,函式預設返回None
(空值)。
從某種角度來講,
函式可以看作是能計算出結果的表示式,
所以可以將其賦值給變數。
(當然,不賦值僅呼叫,函式也能執行。)
如果是在互動式命令列中,不賦值僅呼叫函式,
互動式命令列會自動將函式返回值展示出來。
(如果返回值為None
,互動式命令列就不展示)
4 None說明
None
是空值,是一種特殊的資料型別。
其布林值為False
一般條件判斷語句中,判斷一個變數是否為
None
可以使用
==
,
if a == None:
...
但更推薦使用is
if a is None:
...
最終程式碼
def get_sum(n):
k = 1
s = 0
for i in range(n):
s += k / (i + 1)
k = -k
return s
s0 = get_sum(10)
s1 = get_sum(100)
s2 = get_sum(1000)
s3 = get_sum(10000)
print("10->100 : %s" % (s1-s0))
print("100->1000 : %s" % (s2-s1))
print("1000->10000: %s" % (s3-s2))
輸出如下
10->100 : 0.04253725867527436
100->1000 : 0.004475251249627221
1000->10000: 0.00044975250013601364