我們在使用函數的過程中通常是調用函數,然後被調用的函數中的内容會依次被執行,但是我們有的時候需要的不隻是執行的步驟,我們還需要擷取到函數中的一些變量,是以我們在使用函數的時候還可以增添一個傳回值來擷取函數中的一些資料。
1. 文法結構
Python中關于傳回值需要使用return語句,它的文法結構為:return data
我們來舉個例子來了解一下傳回值,假如我們要使用函數來求解變量a和變量b的值,然後我們要在主函數中來輸出他們的和,我們看一下代碼:def get_sum(a,b):
sum = a + b
return sum
get_sum(1,2)
如果我們把函數寫成上面的模式然後輸出是不會有輸出結果的,因為我們傳回了sum,等同于get_sum(1,2)這一部分的值是sum,但是并沒有對它進行操作,如果我們修改一下代碼:def get_sum(a,b):
sum = a + b
print('調用了這個函數')
return sum
print('完成傳回值的傳遞')
s = get_sum(1,2)
print(s)
輸出結果為:調用了這個函數
3
使用這種方式了解一下,在語句s = get_sum(1,2)中,先是調用了這個函數,然後函數順序往下執行,到了return語句之後,把函數的值等同于sum,然後傳回之後後面的語句就不再執行。傳回值之後s就可以進行指派操作,把函數的傳回值賦給s,然後輸出就可以看到我們的輸出結果。
我們來看一下示意圖:
2. 多值傳回
我們在使用函數傳回值的時候,有的時候不僅會隻傳回一個值,也可能要傳回多個值,我們來看一下多個值的時候該怎麼傳回。
其實我們在傳回多個值的時候原理和一個值的時候類似,我們需要注意的一點是當我們傳回的是多個值的時候,多個值是被存儲在元組當中的。
我們來看下面的例子:def get_data():
a = 1
b = 2
c = 3
d = 4
return a,b,c,d
print('傳回值的類型:',type(get_data()))
print('傳回值:',get_data())
輸出結果:傳回值的類型:
傳回值: (1, 2, 3, 4)
我們可以看到傳回多個值的時候是被存放在了一個元組之中,存放在了元組之中,我們想要使用這些資料的方式就有很多了。
我們接着上面傳回的資料直接進行使用,我們可以使用4個變量直接進行定義,i,o,k,l = get_data()
print(i,o,k,l)
輸出結果為:1 2 3 4
我們還可以通過循環的方式來列印出傳回值:for i in get_data():
print('這是傳回的第%d個資料'%i)
輸出結果為:這是傳回的第1個資料
這是傳回的第2個資料
這是傳回的第3個資料
這是傳回的第4個資料
關于傳回值就講到這裡,傳回值是函數結構中十分重要,本節中以簡單的例子來介紹了函數的傳回值,大家在後續的學習中要加強對傳回值的使用。