有返回值和無返回值函式

2022-08-21 09:45:14 字數 1404 閱讀 7986

#前面在定義函式時,有些函式使用了return語句,有些函式沒有使用return語句,使用return語句與不使用return語句有什麼區別呢?

#由前面的章節我們知道,若定義函式時沒有使用return語句,則預設返回乙個none。要返回乙個none,可以只寫乙個return,但要返回具體的數值,就需要在return後面加上需要返回的內容。對於函式的定義來說,使用return語句可以向外提供該函式執行的一下結果;對於函式的呼叫者來說,是否可以使用函式中執行的一些操作結果,就在於函式是否使用return語句返回了對應的執行結果。

#在python中,有的函式會產生結果(如數學函式),我們稱這種函式為有返回值函式(fruitful function);有的函式執行一些動作後不返回任何值,我們稱這類函式為無返回值函式。

#當我們呼叫有返回值函式時,可以使用返回的結果做相關操作;當我們使用無返回值函式或返回none的函式時,只能得到乙個none值。

#比如定義如下函式並執行:

1

#/usr/bin/python32#

!-*-conding:utf-8 -*-3#

有返回值和無返回值函式45

defnoreturn():

6print('

noreturn函式不寫return語句')

78defjustreturn():

9print('

justreturn函式只寫return,不返回具體內容')

10return

1112

defreturnval():

13 x=10

14 y=20

15 z=x+y

16print('

returnval函式寫return語句,並返回求和的結果。')

17returnz18

19print('

函式noreturn呼叫結果:

',noreturn())

20print('

函式justreturn呼叫結果:

',justreturn())

21print('

函式returnval呼叫結果:

',returnval())

#執行結果如下:

1

noreturn函式不寫return語句

2函式noreturn呼叫結果: none

3justreturn函式只寫return,不返回具體內容

4函式justreturn呼叫結果: none

5returnval函式寫return語句,並返回求和的結果。

6 函式returnval呼叫結果: 30

#由執行結果看到,定義函式時不寫return或只寫乙個return語句返回的都是none。如果寫了返回具體內容,呼叫函式時就可以獲取具體內容。

無返回值 C語言高階之路 函式 返回值!

c 語言的函式可以返回陣列以外 不包括陣列指標 的任何型別.不寫明返回型別,在以前的 c 語言版本中是預設返回 int,現在 c99 c 已不支援.void 表示沒有返回值,也就無須 return 語句 如果是其他語句必須有 return 語句.在 main 函式中 只是 main 函式 若忘掉 r...

函式返回值

這裡接著探求被調函式的返回值是如何傳遞到主調函式中的,下面為c程式。add函式通過直接返回a b的,而add1函式先定義乙個區域性變數c,儲存a b的值,然後再返回c的值。其中a b可以當成乙個臨時變數,其結果是暫時存放在暫存器中的 eax 參照反匯程式設計序,可以看出函式的值並不是通過壓棧 基址定...

函式返回值

一般說來,函式中是可以進行區域性變數的返回的,不然豈不是全部要用全域性變數,如果使用了全域性變數,那還有必要進行返回嗎?那函式就沒有它存在的意義了!但是要注意了,這裡所謂的區域性變數的返回很有內涵,什麼樣的值才可以進行返回而不出錯?其實,只要遵守一句話即可 函式不能返回指向棧記憶體的指標!為什麼?因...