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

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

動(dòng)態(tài)定義的類在導(dǎo)入模塊python中不可見

動(dòng)態(tài)定義的類在導(dǎo)入模塊python中不可見

拉風(fēng)的咖菲貓 2021-03-29 21:02:17
臨時(shí)異常類是在要用作模塊的python腳本中使用“ type”動(dòng)態(tài)定義的。當(dāng)此類的實(shí)例被導(dǎo)入腳本時(shí),它無法識(shí)別該類。下面是代碼片段# the throwing module, defines dynamicallydef bad_function():    ExceptionClass = type( "FooBar", (Exception,),        { "__init__": lambda self, msg: Exception.__init__(self, msg) })    raise ExceptionClass("ExceptionClass")使用代碼import libt0try:    libt0.bad_function()#except libt0.FooBar as e:#print eexcept Exception as e:    print e    print e.__class__可以解釋為什么此腳本看不到libt0.FooBase嗎?觀察者輸出的最后一行。
查看完整描述

2 回答

?
繁星coding

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

尚不清楚如果不執(zhí)行以下操作,您如何期望FooBar存在?


def bad_function():

    ExceptionClass = type( "FooBar", (Exception,),

        { "__init__": lambda self, msg: Exception.__init__(self, msg) })

    globals()['FooBar'] = ExceptionClass

    raise ExceptionClass("ExceptionClass")


查看完整回答
反對(duì) 回復(fù) 2021-04-02
?
狐的傳說

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

您在函數(shù)內(nèi)部創(chuàng)建了該類,因此該類在模塊的全局命名空間中不作為名稱存在。實(shí)際上,它除了在bad_function執(zhí)行時(shí)根本不存在。失敗的原因相同:


# file1.py

def good_function():

   x = 2


# file2.py

import file1

print file1.x

您的異常類只是內(nèi)部的局部變量bad_function。


查看完整回答
反對(duì) 回復(fù) 2021-04-02
  • 2 回答
  • 0 關(guān)注
  • 205 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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