Python中return返回值的簡單用法

2021-10-09 02:42:32 字數 4322 閱讀 3801

經常會遇到有人問「為什麼方法的最後一行,有的要return乙個結果,但是有的卻沒有return,學習的時候很少看到有書上講解這個return的用法,因此一直搞不清這個return是幹什麼用的?到底該什麼時候用,return的值應該怎麼確定?…"

下面我們就簡單的**一下這個return的用法。

首先關於英文單詞return,它是返回的意思。那麼關於它將資料返回到哪兒去了,以及哪些資料需要返回?我們下面將舉幾個例子進行**。

問題1:return將資料返回到哪兒去了?

我們先看下面這幾行**,構造乙個求和方法,然後方法結果執行結果print列印出來。

def

sum_result

(a, b)

: result = a + b

if __name__ ==

"__main__"

:print

(sum_result(1,

2))

執行結果為:

d:\python\python.exe c:

/users/desktop/code/

return

.pynone

process finished with exit code 0

發現print列印的結果為none.

接下來我們在上述**的基礎上再新增一行**,為

def

sum_result

(a, b)

: result = a + b

return result

if __name__ ==

"__main__"

:print

(sum_result(1,

2))

執行結果為:

d:\python\python.exe c:

/users/lc115/desktop/code/

return

.py3

process finished with exit code 0

啊哈,發現此時print列印的結果為1+2的值(3)了,也即為求和方法中result的運算結果。

通過上面兩個**對比,我們發現當在方法中增加了return後,整個方法對外體現就是所return的值。以上例為例,在方法sum_result中,增加了一條return result **後,sum_result方法對外體現的值即為result,因此將方法sum_result print出來,結果是result的值。但是如果方法中沒有return 語句,則相當於是return none,沒有返回值,因此print 的結果為none.

那是不是我們只能return方法中的運算結果呢?下面我們繼續**一下。

問題2:我們return時應該return什麼值?以及應該什麼時候要用return?

下面我們再將上面的**改一下,我們不return result,我們return乙個自定義字串看是否可以。**如下:

def

sum_result

(a, b)

: result = a + b

return

"hello"

if __name__ ==

"__main__"

:print

(sum_result(1,

2))

執行結果:

d:\python\python.exe c:

/users/desktop/code/

return

.pyhello

process finished with exit code 0

發現輸出列印的是字串"hello"

我們再return乙個布林型別的值試試:

def

sum_result

(a, b)

: result = a + b

return

true

if __name__ ==

"__main__"

:print

(sum_result(1,

2))

執行結果為:

d:\python\python.exe c:

/users/desktop/code/

return

.pytrue

<

class

'bool'

>

process finished with exit code 0

發現也可以直接return乙個布林型別的值。

其實return後面可以接任何值,可以與方法運算有關的,也可以跟方法運算無關的。當方法中一旦有return乙個返回值,那麼該方法對外的整體」體現「就是該return的結果。因此我們在實際寫**的過程中,是否需要return以及return什麼值還是需要根據具體的需求來看,比如有時候方法b需要用到方法a中的運算結果,那麼就需要將a方法的運算結果return,然後代入到b方法中去執行。例如:

def

func_a()

: result =1+

2return result

deffunc_b()

:sum

= func_a()+

3print

(sum

)if __name__ ==

"__main__"

: func_b(

)

執行結果為:

d:\python\python.exe c:

/users/desktop/code/

return

.py6

process finished with exit code 0

問題3:在乙個方法中,如果有多個值需要return該如何寫?

我們先來看乙個例子,當有多個return語句時最終輸出是怎樣的?

def

func_a()

: result =1+

2return result

return

true

return

0if __name__ ==

"__main__"

:print

(func_a(

))

執行結果為:

d:\python\python.exe c:

/users/desktop/code/

return

.py3

process finished with exit code 0

發現無論寫多少return語句,最終只返回第乙個return語句的結果。

那如果我們需要返回多個值,該怎麼寫呢?寫法如下:

def

func_a()

: result =1+

2return result,

true,0

,"hello"

if __name__ ==

"__main__"

:print

(func_a())

print

(type

(func_a())

)print

(func_a()[

0])print

(func_a()[

1])print

(func_a()[

2])print

(func_a()[

3])

執行結果如下:

d:\python\python.exe c:

/users/lc115/code/

return

.py(3,

true,0

,'hello'

)<

class

'tuple'

>

3true

0hello

process finished with exit code 0

我們發現將多個return結果一列寫出來,中間用英文逗號隔開後,輸出的結果是乙個元組,如果需要單獨獲取某個值可以通過獲取元組元素的方法得到相應的值。

總結:

方法對外」體現「的資料就是return的值,方法中return的值可以是任意值,需要自己根據**需求來給定。

python中的return的返回與執行

author headsen chen date 2018 03 21 15 12 09 notice created by headsen chen himself and not allowed to copy or you count law questions.1,列印函式名和列印函式的執行...

python 如何return返回多個值

函式的return 語句只能返回乙個值,可以是任何型別。因此,我們可以 返回乙個 tuple型別,來間接達到返回多個值 例 x 除以 y 的餘數與商的函式 def f1 x,y a x y b x a y return a,b 也可以寫作 return a,b c,d f1 9,4 也可以寫作 c ...

T SQL中return 返回語句學習

return命令用於結束當前程式的執行,返回到上乙個呼叫它的程式或其他程式,其語法格式如下 return 整數值或變數 return語句要指定返回值,如果沒有指定返回值,sql server系統會根據程式執行的結果返回乙個內定值,返回值含義如下所示 返回值 含義 0 程式執行成功 1 找不到物件 2...