天天看點

詳解函數的參數和傳回值 | 手把手教你入門Python之四十

上一篇: 詳解函數介紹,定義和調⽤ | 手把手教你入門Python之三十九 下一篇: 函數的⽂檔說明 | 手把手教你入門Python之四十一 本文來自于千鋒教育在阿裡雲開發者社群學習中心上線課程 《Python入門2020最新大課》 ,主講人姜偉。

函數參數

思考⼀個問題,如下:

現在需要定義⼀個函數,這個函數能夠完成2個數的加法運算,并且把結果列印出來,該怎樣設計?下

⾯的代碼可以嗎?有什麼缺陷嗎?

def add2num():
 a = 11
 b = 22
 c = a+b
 print(c)           

為了讓⼀個函數更通⽤,即想讓它計算哪兩個數的和,就讓它計算哪兩個數的和,在定義函數的時候可以讓函數接收資料,就解決了這個問題,這就是 函數的參數

⼀、定義、調⽤帶有參數的函數

定義⼀個add2num(a, b)函數,來計算任意兩個數字之和:

def add2num(a, b):
 c = a+b
 print c
add2num(11, 22) # 調⽤帶有參數的函數時,需要在⼩括号中,傳遞資料           

注意點:

  • 在定義函數的時候,⼩括号⾥寫等待指派的變量名
  • 在調⽤函數的時候,⼩括号⾥寫真正要進⾏運算的資料

調⽤帶有參數函數的運⾏過程:

詳解函數的參數和傳回值 | 手把手教你入門Python之四十

練一練

要求:定義⼀個函數,完成前2個數完成加法運算,然後對第3個數,進⾏減法;然後調⽤這個函數

  • 使⽤def定義函數,要注意有3個參數
  • 調⽤的時候,這個函數定義時有⼏個參數,那麼就需要傳遞⼏個參數

三、調⽤函數時參數的順序

>>> def test(a,b):
... print(a,b)
...
>>> test(1,2) # 位置參數
1 2
>>> test(b=1,a=2) # 關鍵字參數
2 1
>>>
>>> test(b=1,2) # 關鍵字參數寫在位置參數之前會導緻出錯
 File "<stdin>", line 1
SyntaxError: positional argument follows keyword argument           

四、小總結

  • 定義時⼩括号中的參數,⽤來接收參數⽤的,稱為 “形參”
  • 調⽤時⼩括号中的參數,⽤來傳遞給函數⽤的,稱為 “實參”
詳解函數的參數和傳回值 | 手把手教你入門Python之四十
詳解函數的參數和傳回值 | 手把手教你入門Python之四十

函數傳回值

⼀、“傳回值”介紹

現實⽣活中的場景:

我給⼉⼦10塊錢,讓他給我買個冰淇淋。這個例⼦中,10塊錢是我給⼉⼦的,就相當于調⽤函數時傳

遞到參數,讓⼉⼦買冰淇淋這個事情最終的⽬标,我需要讓他把冰淇淋帶回來,此時冰淇淋就是傳回值

開發中的場景:

定義了⼀個函數,完成了擷取室内溫度,想⼀想是不是應該把這個結果給調⽤者,隻有調⽤者擁有了這

個傳回值,才能夠根據目前的溫度做适當的調整

綜上所述:

  • 所謂“傳回值”,就是程式中函數完成⼀件事情後,最後給調⽤者的結果
  • 使⽤傳回值的前提需求就是函數調⽤者想要在函數外使⽤計算結果

⼆、帶有傳回值的函數

想要在函數中把結果傳回給調⽤者,需要在函數中使⽤return

如下示例:

def add2num(a, b):
 c = a+b
 return c # return 後可以寫變量名           

或者

def add2num(a, b):
 return a+b # return 後可以寫計算表達式           

三、儲存函數的傳回值

在本⼩節剛開始的時候,說過的“買冰淇淋”的例⼦中,最後⼉⼦給你冰淇淋時,你⼀定是從⼉⼦⼿中接過來對麼,程式也是如此,如果⼀個函數傳回了⼀個資料,那麼想要⽤這個資料,那麼就需要儲存

儲存函數的傳回值示例如下:

#定義函數
def add2num(a, b):
 return a+b
#調⽤函數,順便儲存函數的傳回值
result = add2num(100,98)
#因為result已經儲存了add2num的傳回值,是以接下來就可以使⽤了
print(result)           

結果:

198           
詳解函數的參數和傳回值 | 手把手教你入門Python之四十
詳解函數的參數和傳回值 | 手把手教你入門Python之四十