真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python中try、except、finally執(zhí)行順序的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下python中try、except、finally執(zhí)行順序的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比麟游網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式麟游網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋麟游地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。

如下所示:

def test1():
  try:
   print('to do stuff')
   raise Exception('hehe')
   print('to return in try')
   return 'try'
 except Exception:
   print('process except')
   print('to return in except')
   return 'except'
 finally:
   print('to return in finally')
   return 'finally'

test1Return = test1()
print('test1Return : ' + test1Return)

輸出:

to do stuff
process except
to return in except
to return in finally
test1Return : finally

在 try 中 raise一個異常,就立刻轉(zhuǎn)入 except 中執(zhí)行,在except 中遇到 return 時,就強制轉(zhuǎn)到 finally 中執(zhí)行, 在 finally 中遇到 return 時就返回

def test2():
  try:
   print('to do stuff')
   print('to return in try')
   return 'try'
 except Exception:
   print('process except')
   print('to return in except')
   return 'except'
 finally:
   print('to return in finally')
   return 'finally'

test2Return = test2()
print('test1Return : ' + test2Return)

輸出:

to do stuff
to return in try
to return in finally
test2Return : finally

這里在 try 中沒有拋出異常,因此不會轉(zhuǎn)到 except 中,但是在try 中遇到return時,也會立即強制轉(zhuǎn)到finally中執(zhí)行,并在finally中返回

test1和test2得到的結(jié)論:

無論是在try還是在except中,遇到return時,只要設(shè)定了finally語句,就會中斷當(dāng)前的return語句,跳轉(zhuǎn)到finally中執(zhí)行,如果finally中遇到return語句,就直接返回,不再跳轉(zhuǎn)回try/excpet中被中斷的return語句

def test3():
  i = 0
 try:
   i += 1
 print('i in try : %s'%i)
   raise Exception('hehe')
 except Exception:
   i += 1
 print('i in except : %s'%i)
   return i
   finally:
   i += 1
 print ('i in finally : %s'%i )

print('test3Return : %s'% test3())

輸出:

i in try : 1
i in except : 2
i in finally : 3
test3Return : 2

def test4():
  i = 0
 try:
   i += 1
 return i
  finally:
   i += 1
 print ('i in finally : %s'%i )
print('test4Return : %s' % test4())

輸出

i in finally : 2
test4Return : 1

test3和test4得到的結(jié)論:

在except和try中遇到return時,會鎖定return的值,然后跳轉(zhuǎn)到finally中,如果finally中沒有return語句,則finally執(zhí)行完畢之后仍返回原return點,將之前鎖定的值返回(即finally中的動作不影響返回值),如果finally中有return語句,則執(zhí)行finally中的return語句。

def test5():
  for i in range(5):
   try:
     print('do stuff %s'%i)
     raise Exception(i)
   except Exception:
     print('exception %s'%i)
     continue
 finally:
     print('do finally %s'%i)
test5()

輸出

do stuff 0
exception 0
do finally 0
do stuff 1
exception 1
do finally 1
do stuff 2
exception 2
do finally 2
do stuff 3
exception 3
do finally 3
do stuff 4
exception 4
do finally 4

test5得到的結(jié)論:

在一個循環(huán)中,最終要跳出循環(huán)之前,會先轉(zhuǎn)到finally執(zhí)行,執(zhí)行完畢之后才開始下一輪循環(huán)

以上是“python中try、except、finally執(zhí)行順序的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


標(biāo)題名稱:python中try、except、finally執(zhí)行順序的示例分析-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://weahome.cn/article/pcjos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部