我們在使用函數(shù)的過程中通常是調(diào)用函數(shù),然后被調(diào)用的函數(shù)中的內(nèi)容會依次被執(zhí)行,但是我們有的時候需要的不只是執(zhí)行的步驟,我們還需要獲取到函數(shù)中的一些變量,因此我們在使用函數(shù)的時候還可以增添一個返回值來獲取函數(shù)中的一些數(shù)據(jù)。
1. 語法結(jié)構(gòu)
Python中關(guān)于返回值需要使用return語句,它的語法結(jié)構(gòu)為:
return data
我們來舉個例子來了解一下返回值,假如我們要使用函數(shù)來求解變量a和變量b的值,然后我們要在主函數(shù)中來輸出他們的和,我們看一下代碼:
def get_sum(a,b): sum = a + b return sum get_sum(1,2)
如果我們把函數(shù)寫成上面的模式然后輸出是不會有輸出結(jié)果的,因為我們返回了sum,等同于get_sum(1,2)這一部分的值是sum,但是并沒有對它進行操作,如果我們修改一下代碼:
def get_sum(a,b): sum = a + b print('調(diào)用了這個函數(shù)') return sum print('完成返回值的傳遞') s = get_sum(1,2) print(s)
輸出結(jié)果為:
調(diào)用了這個函數(shù) 3
使用這種方式理解一下,在語句s = get_sum(1,2)中,先是調(diào)用了這個函數(shù),然后函數(shù)順序往下執(zhí)行,到了return語句之后,把函數(shù)的值等同于sum,然后返回之后后面的語句就不再執(zhí)行。返回值之后s就可以進行賦值操作,把函數(shù)的返回值賦給s,然后輸出就可以看到我們的輸出結(jié)果。
我們來看一下示意圖:
2. 多值返回
我們在使用函數(shù)返回值的時候,有的時候不僅會只返回一個值,也可能要返回多個值,我們來看一下多個值的時候該怎么返回。
其實我們在返回多個值的時候原理和一個值的時候類似,我們需要注意的一點是當我們返回的是多個值的時候,多個值是被存儲在元組當中的。
我們來看下面的例子:
def get_data(): a = 1 b = 2 c = 3 d = 4 return a,b,c,d print('返回值的類型:',type(get_data())) print('返回值:',get_data())
輸出結(jié)果:
返回值的類型: <class 'tuple'> 返回值: (1, 2, 3, 4)
我們可以看到返回多個值的時候是被存放在了一個元組之中,存放在了元組之中,我們想要使用這些數(shù)據(jù)的方式就有很多了。
我們接著上面返回的數(shù)據(jù)直接進行使用,我們可以使用4個變量直接進行定義,
i,o,k,l = get_data() print(i,o,k,l)
輸出結(jié)果為:
1 2 3 4
我們還可以通過循環(huán)的方式來打印出返回值:
for i in get_data(): print('這是返回的第%d個數(shù)據(jù)'%i)
輸出結(jié)果為:
這是返回的第1個數(shù)據(jù) 這是返回的第2個數(shù)據(jù) 這是返回的第3個數(shù)據(jù) 這是返回的第4個數(shù)據(jù)
關(guān)于返回值就講到這里,返回值是函數(shù)結(jié)構(gòu)中十分重要,本節(jié)中以簡單的例子來介紹了函數(shù)的返回值,大家在后續(xù)的學習中要加強對返回值的使用。
1039 | [編程入門]宏定義之閏年判斷 |
1041 | [編程入門]宏定義之找最大數(shù) |
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習題和答疑,點擊了解:
一點編程也不會寫的:零基礎(chǔ)C語言學練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學奧賽或C++選手的 必學C++課程
藍橋杯ACM、信息學奧賽的必學課程:算法競賽課入門課程
手把手講解近五年真題的藍橋杯輔導課程