關(guān)于python返回值return用法詳解
一.含義
"return"是編程語言中的一個關(guān)鍵字,通常用于函數(shù)或方法的結(jié)尾,表示將執(zhí)行結(jié)果返回給調(diào)用者。
通俗講就是一個事物反饋給你的東西。就像你一拍桌子,會返回聲音和力的反作用力。
二.作用
負責函數(shù)返回值,返回一個參數(shù)或數(shù)據(jù)等。
退出當前函數(shù),導致return下方的(函數(shù)體內(nèi)部的‘縮進的’)代碼不執(zhí)行。(在使用try語句時除外)
def fun():
print('hhh')
return 'ok' # 執(zhí)行到該return語句時,函數(shù)終止,后邊的語句不再執(zhí)行
print('ooo')
def func():
try:
print('hhh')
return 'ok' # 會在執(zhí)行finally后才執(zhí)行
finally: # finally語句塊中的語句依然會執(zhí)行,無論是否發(fā)生異常,都會在函數(shù)返回之前執(zhí)行
print('ooo')
print(fun())
print('----------')
print(func())
'''
運行結(jié)果:
hhh
ok
----------
hhh
ooo
ok
'''三.沒有return時
所有函數(shù)在沒有指定返回值時都有一個默認的返回值None。如果函數(shù)沒有return語句,則默認返回None.None表示空的意思。
但函數(shù)中不一定必須要存在return,return存在與否取決于其功能和用途。
# 設(shè)定一個基礎(chǔ)圖形
def line():
print('-' * 10)
# 利用循環(huán)創(chuàng)建出新的圖像
def total(num):
i = 0
while i < num:
line()
i += 1
# 不加return最后結(jié)果會有一個None
# return 1
print(total(5))
'''
運行結(jié)果:
----------
----------
----------
----------
----------
None
'''四.return 1或0或-1的區(qū)別(int值)
- 當return返回一個int值時,具體含義取決于具體的上下文和用途。
- 表示計算結(jié)果時,如果函數(shù)的目的是進行某種計算并返回一個整數(shù)值作為結(jié)果,那么
return語句將這個計算結(jié)果返回給調(diào)用者。
# 兩數(shù)相加
def add(a, b):
sum = a + b
return sum
result = add(3, 4)
# 此時運行結(jié)果是7- 當其表示狀態(tài)時
| return 1 | return 0 | return -1 | |
| 正常運行狀態(tài)下 | return 1通常用于表示程序或函數(shù)在執(zhí)行過程中遇到了問題,未能正常完成其任務(wù)。在主函數(shù)中,這可能意味著程序異常終止。 | 在大多數(shù)編程語言中,return 0用于表示程序或函數(shù)已成功完成其任務(wù),并正常退出。這是約定俗成的慣例,也是操作系統(tǒng)和其他程序用來判斷程序是否正常結(jié)束的標志。 | return -1通常用于表示函數(shù)遇到了嚴重錯誤或無法繼續(xù)執(zhí)行的情況 |
| 在布爾值(bool)中 | 表示布爾值真 | 表示布爾值假 | 一般不直接對應(yīng)布爾值的True或False,表示執(zhí)行錯誤 |
| 在特殊情況下(不重要) | return 1也可以表示某種特定條件的達成或成功,盡管這種情況較少見 | 都表示正常 | 在一些復雜的系統(tǒng)或庫中,負返回值可能用于指示不同類型的錯誤或異常 |
五.返回值返回的類型
一般情況下,可以返回任意類型。
- 當返回單個值時,返回的就是他原本的類型
def return_type():
# return 1, 2
return [1, 2]
print(return_type())
print(type(return_type()))
'''
運行結(jié)果(其他類型同理):
[1, 2]
<class 'list'>
'''- 當返回多個值時,默認返回元組(tuple)
def return_type():
return 1, 2
print(return_type())
print(type(return_type()))
'''
運行結(jié)果:
(1, 2)
<class 'tuple'>
'''六.函數(shù)作為參數(shù)傳遞
def test1():
return 50
def test2(num):
print(num)
# 保存函數(shù)test1的返回值
result = test1()
# 將函數(shù)返回值所在變量作為參數(shù)傳遞到test2中
test2(result)
# 打印結(jié)果:50七.print()和return的區(qū)別
(雖然他們可能沒有太大關(guān)系)
| print() | return | |
| 功能用途 | 主要用于在控制臺輸出信息 | 將處理結(jié)果返回給調(diào)用者 |
| 返回值特性 | 沒有返回值的概念 | 可以返回函數(shù)計算后的任意類型數(shù)據(jù),默認為None |
| 終止情況 | 一般情況下不會終止 | 在函數(shù)中,一般情況下return下代碼不執(zhí)行 |
| 應(yīng)用場景 | 適用于需要即時展示程序執(zhí)行進度或中間結(jié)果的場景,如調(diào)試等 | 多用于需要在計算后繼續(xù)處理結(jié)果的場景,如數(shù)據(jù)計算、條件判斷等 |
- 一般情況下,return和print也是可以混合使用的。但建議使用第二種方法。
# 第一種
def return_p1():
return print('hhh')
return_p1()
print('--------')
# 第二種
def return_p2():
return 'ooo'
print(return_p2())
'''
運行結(jié)果:
hhh
--------
ooo
'''例題:

錯誤原因:沒有返回值,print和return認識不明確
八.特殊情況
在類方法中,__str__中的return后只能是字符串類型

用return print(' ')也會報錯,如果要打印字符串可以用return f' '
總結(jié)
到此這篇關(guān)于關(guān)于python返回值return的文章就介紹到這了,更多相關(guān)python返回值return內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Tkinter中button按鈕未按卻主動執(zhí)行command函數(shù)的問題
這篇文章主要介紹了解決Tkinter中button按鈕未按卻主動執(zhí)行command函數(shù)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05
Python獲取服務(wù)器信息的最簡單實現(xiàn)方法
這篇文章主要介紹了Python獲取服務(wù)器信息的最簡單實現(xiàn)方法,涉及Python中urllib2庫的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
Python調(diào)用騰訊API進行人像動漫化效果實例
最近上網(wǎng)的時候看到了一個有趣的東西,叫做人物動漫化,嘗試著用python實現(xiàn)了,所以下面這篇文章主要給大家介紹了關(guān)于Python調(diào)用騰訊API進行人像動漫化效果的相關(guān)資料,需要的朋友可以參考下2023-06-06
tensorflow: variable的值與variable.read_value()的值區(qū)別詳解
今天小編就為大家分享一篇tensorflow: variable的值與variable.read_value()的值區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07

