第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

帶有Return語(yǔ)句的奇怪的Try-Except-Else-Finally行為

帶有Return語(yǔ)句的奇怪的Try-Except-Else-Finally行為

慕桂英546537 2019-12-12 12:10:19
這是一些行為特殊的代碼。這是我編寫的行為的簡(jiǎn)化版本。這仍然會(huì)顯示出怪異的行為,我對(duì)為什么會(huì)發(fā)生這種現(xiàn)象有一些特定的疑問(wèn)。我在Windows 7上使用Python 2.6.6。def demo1():    try:        raise RuntimeError,"To Force Issue"    except:        return 1    else:        return 2    finally:        return 3def demo2():    try:        try:            raise RuntimeError,"To Force Issue"        except:            return 1        else:            return 2        finally:            return 3    except:        print 4    else:        print 5    finally:        print 6結(jié)果:>>> print demo1()3>>> print demo2()63為什么演示1返回3而不是1?為什么演示2打印6而不是打印6 w / 4或5?
查看完整描述

3 回答

?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

因?yàn)楸WC可以執(zhí)行finally語(yǔ)句(因此,假定沒(méi)有斷電或Python無(wú)法控制的任何事情)。這意味著在函數(shù)可以返回之前,它必須運(yùn)行finally塊,該塊返回一個(gè)不同的值。


在Python文檔狀態(tài):


當(dāng)在try ... finally語(yǔ)句的try套件中執(zhí)行return,break或Continue語(yǔ)句時(shí),finally子句也會(huì)在“出路”上執(zhí)行。在finally子句中,continue語(yǔ)句是非法的。(原因是當(dāng)前實(shí)施存在問(wèn)題-將來(lái)可能會(huì)取消此限制)。


這意味著,當(dāng)您嘗試返回時(shí),將finally調(diào)用該塊,并返回其值,而不是原來(lái)的值。



查看完整回答
反對(duì) 回復(fù) 2019-12-13
?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

執(zhí)行順序?yàn)椋?/p>

  1. 嘗試阻止所有正常完成->最終阻止->函數(shù)結(jié)束

  2. 嘗試運(yùn)行塊并進(jìn)入異常A->最終阻塞->函數(shù)結(jié)束

  3. 嘗試塊返回值并調(diào)用返回->最終阻止->彈出返回值->函數(shù)結(jié)束

因此,finally塊中的任何返回都將提前結(jié)束步驟。



查看完整回答
反對(duì) 回復(fù) 2019-12-13
?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

因?yàn)樵?code>return調(diào)用該語(yǔ)句時(shí),Python會(huì)檢查是否finally需要執(zhí)行任何打開(kāi)的子句(請(qǐng)參見(jiàn)上面的引用)。

查看完整回答
反對(duì) 回復(fù) 2019-12-13
  • 3 回答
  • 0 關(guān)注
  • 370 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)