Python中return用法案例詳解
python中return的用法
1、return語(yǔ)句就是把執(zhí)行結(jié)果返回到調(diào)用的地方,并把程序的控制權(quán)一起返回
程序運(yùn)行到所遇到的第一個(gè)return即返回(退出def塊),不會(huì)再運(yùn)行第二個(gè)return。
例如:
def haha(x,y):
if x==y:
return x,y
print(haha(1,1))
已改正:
結(jié)果:這種return傳參會(huì)返回元組(1, 1)
2、但是也并不意味著一個(gè)函數(shù)體中只能有一個(gè)return 語(yǔ)句,例如:
def test_return(x):
if x > 0:
return x
else:
return 0
print(test_return(2))
3、函數(shù)沒(méi)有 return,默認(rèn) return一個(gè) None 對(duì)象。
遞歸函數(shù)中沒(méi)有return 的情況:
def recurve(a,b):
if a%b==0:
return b
else:
gcd(b,a%b)
分析:else 中沒(méi)有 return 就沒(méi)有出口,這個(gè)程序是自己內(nèi)部運(yùn)行,程序沒(méi)有返回值,
4、在交互模式下,return的結(jié)果會(huì)自動(dòng)打印出來(lái),而作為腳本單獨(dú)運(yùn)行時(shí)則需要print函數(shù)才能顯示。
python中什么是交互模式:結(jié)尾有3個(gè)>符號(hào)(>>>)。>>>被叫做Python命令提示符(prompt)
輸入一行python代碼就會(huì)執(zhí)行該代碼,這種模式就叫做Python交互模式(interactive mode)
5、默認(rèn)情況下,遇見(jiàn) return 函數(shù)就會(huì)返回給調(diào)用者,但是 try,finally情況除外:
def func():
try:
print(666)
return 'ok'
finally:
print(666)
print(func())
6、函數(shù)作為返回值返回:(其實(shí)是個(gè)閉包函數(shù))
def sum1(*args):
def sum2():
x=0
for i in args:
x=x+i
return x
return sum2
sum1(1,2,3)
a=sum1(1,2,3)
print(a())
結(jié)果:6=1+2+3
7、返回一個(gè)函數(shù)列表:
def count():
fs = []
for i in range(1,4):
def f():
return i*i
fs.append(f)
return fs
f1, f2, f3 = count()
print(f1())
print(f2())
print(f3())
輸出:
9
9
9
到此這篇關(guān)于Python中return用法案例詳解的文章就介紹到這了,更多相關(guān)Python中return用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用OpenCV對(duì)彩色圖像進(jìn)行通道分離的項(xiàng)目實(shí)踐
通道分離是將彩色圖像的每個(gè)像素分解為三個(gè)通道(紅、綠、藍(lán))的過(guò)程,本文主要介紹了Python使用OpenCV對(duì)彩色圖像進(jìn)行通道分離的項(xiàng)目實(shí)踐,感興趣的可以了解一下2023-08-08
使用jupyter notebook直接打開(kāi).md格式的文件
這篇文章主要介紹了使用jupyter notebook直接打開(kāi).md格式的文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
解決pyecharts在jupyter notebook中使用報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了解決pyecharts在jupyter notebook中使用報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
pyspark操作hive分區(qū)表及.gz.parquet和part-00000文件壓縮問(wèn)題
這篇文章主要介紹了pyspark操作hive分區(qū)表及.gz.parquet和part-00000文件壓縮問(wèn)題,針對(duì)問(wèn)題整理了spark操作hive表的幾種方式,需要的朋友可以參考下2021-08-08
Django中celery的使用項(xiàng)目實(shí)例
Celery是?個(gè) 基于python開(kāi)發(fā)的分布式異步消息任務(wù)隊(duì)列,通過(guò)它可以輕松的實(shí)現(xiàn)任務(wù)的異步處理,下面這篇文章主要給大家介紹了關(guān)于Django中celery使用的相關(guān)資料,需要的朋友可以參考下2022-07-07
pandas中DataFrame多層索引的實(shí)現(xiàn)
本文主要介紹了pandas中DataFrame多層索引的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
wxPython定時(shí)器wx.Timer簡(jiǎn)單應(yīng)用實(shí)例
這篇文章主要介紹了wxPython定時(shí)器wx.Timer簡(jiǎn)單應(yīng)用,實(shí)例分析了Python使用wxPython創(chuàng)建窗口應(yīng)用程序及定時(shí)器的相關(guān)使用技巧,需要的朋友可以參考下2015-06-06

