函數返回值(一)
<1>“返回值”介紹
現實生活中的場景:
我給兒子10塊錢,讓他給我買包煙。這個例子中,10塊錢是我給兒子的,就相當於調用函數時傳遞到參數,讓兒子買煙這個事情最終的目標是,讓他把煙給你帶回來然后給你對么,,,此時煙就是返回值
開發中的場景:
定義了一個函數,完成了獲取室內溫度,想一想是不是應該把這個結果給調用者,只有調用者擁有了這個返回值,才能夠根據當前的溫度做適當的調整
綜上所述:
- 所謂“返回值”,就是程序中函數完成一件事情后,最后給調用者的結果
<2>帶有返回值的函數
想要在函數中把結果返回給調用者,需要在函數中使用return
如下示例:
def add2num(a, b):
c = a+b return c
或者
def add2num(a, b):
return a+b
<3>保存函數的返回值
在本小節剛開始的時候,說過的“買煙”的例子中,最后兒子給你煙時,你一定是從兒子手中接過來 對么,程序也是如此,如果一個函數返回了一個數據,那么想要用這個數據,那么就需要保存
保存函數的返回值示例如下:
#定義函數
def add2num(a, b):
return a+b #調用函數,順便保存函數的返回值 result = add2num(100,98) #因為result已經保存了add2num的返回值,所以接下來就可以使用了 print result
結果:
198
4種函數的類型
函數根據有沒有參數,有沒有返回值,可以相互組合,一共有4種
無參數,無返回值
無參數,又反悔
有參數,無返回值
有參數,有返回值
<1>無參數,無返回值的函數
此類函數,不能接收參數,也沒有返回值,一般情況下,打印提示燈類似的功能,使用這類的函數
def printMenu():
print('--------------------------') print(' xx涮涮鍋 點菜系統') print('') print(' 1. 羊肉涮涮鍋') print(' 2. 牛肉涮涮鍋') print(' 3. 豬肉涮涮鍋') print('--------------------------')
結果:
<2>無參數,有返回值的函數
此類函數,不能接收參數,但是可以返回某個數據,一般情況下,像采集數據,用此類函數
# 獲取溫度
def getTemperature():
#這里是獲取溫度的一些處理過程
#為了簡單起見,先模擬返回一個數據
return 24 temperature = getTemperature() print('當前的溫度為:%d'%temperature)
結果:
當前的溫度為: 24
<3>有參數,無返回值的函數
此類函數,能接收參數,但不可以返回數據,一般情況下,對某些變量設置數據而不需結果時,用此類函數
<4>有參數,有返回值的函數
此類函數,不僅能接收參數,還可以返回某個數據,一般情況下,像數據處理並需要結果的應用,用此類函數
# 計算1~num的累積和
def calculateNum(num):
result = 0 i = 1 while i<=num: result = result + i i+=1 return result result = calculateNum(100) print('1~100的累積和為:%d'%result)
結果:
1~100的累積和為: 5050
<5>小總結
- 函數根據有沒有參數,有沒有返回值可以相互組合
- 定義函數時,是根據實際的功能需求來設計的,所以不同開發人員編寫的函數類型各不相同
函數返回值(二)
在python中我們可不可以返回多個值?
>>> def divid(a, b):
... shang = a//b ... yushu = a%b ... return shang, yushu ... >>> sh, yu = divid(5, 2) >>> sh 5 >>> yu 1
本質是利用了元組