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

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

Python里方法可以用變量表示嗎

Python里方法可以用變量表示嗎

皈依舞 2019-02-20 12:33:08
在做圖形界面,界面里有三個(gè)ListWidget,每個(gè)ListWidget都有一個(gè)名字,假如分別叫a,b,c.現(xiàn)在就是通過接收一個(gè)標(biāo)志然后對(duì)相應(yīng)的ListWidget做添加item等一系列的操作我目前代碼大概是這樣的 # mode是標(biāo)志,emails是郵件數(shù)據(jù) def addQList(self,emails,mode): if mode == 'a': for subject in emails: if subject != '': abstractContent = '時(shí)間:'+ emails[subject]['date'] + '\n主題:' + subject + '\n' + emails[subject]['name'] self.a.addItem(abstractContent) ...其他操作... elif mode == 'b': for subject in emails: if subject != '' and subject not in self.isSent: self.isSent.update({subject:emails[subject]}) abstractContent = '時(shí)間:'+ emails[subject]['date'] + '\n主題:' + subject + '\n' + emails[subject]['name'] self.b.addItem(abstractContent) ...其他操作... elif mode == 'c': for subject in emails: if subject != '' and subject not in self.isReceived: self.isReceived.update({subject:emails[subject]}) abstractContent = '時(shí)間:'+ emails[subject]['date'] + '\n主題:' + subject + '\n' + emails[subject]['name'] self.c.addItem(abstractContent) ...其他操作... 對(duì)標(biāo)志做if判斷后,就分別對(duì)相應(yīng)ListWidget做操作,但是因?yàn)椴僮鞫际且粯拥?,只是操作?duì)象不一樣,我知道這么寫代碼會(huì)很冗余。所以想問一下有沒有簡(jiǎn)單一點(diǎn)的方法,就是有沒有類似這樣的方法:我不是獲取到標(biāo)志mode了嗎,如果mode等于a,有沒有一種方法直接操作self.mode,等同于操作self.a的感覺?Python里可以這樣嗎?或者說有什么方法可以做到這種效果
查看完整描述

4 回答

?
慕尼黑8549860

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

這個(gè)問題挺有意思的,這也是我為什么特別喜歡python的原因之一.
函數(shù)本質(zhì),或者對(duì)于python來說,對(duì)象,本身就是一段內(nèi)存中的二進(jìn)制的空間而已.函數(shù)名實(shí)際上也是人附加給它的.那么,函數(shù)名如何映射到那段內(nèi)存空間中呢.
額,感覺會(huì)講的很復(fù)雜.
簡(jiǎn)單來說
eval()
可以,雖然這種做法比較不推薦

查看完整回答
反對(duì) 回復(fù) 2019-03-04
?
RISEBY

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

題主,你應(yīng)該這樣

 for subject in emails:
            if mode == 'b':
                if subject in self.isSent:
                    continue
            if mode == 'c':
                if subject in self.received:
                    continue
            self.isSent.update({subject:emails[subject]})
            abstractContent = '時(shí)間:'+ emails[subject]['date'] + '\n主題:' + subject + '\n' + emails[subject]['name']
            self.addItem(abstractContent, mode)#mode穿進(jìn)去
            ...其他操作...
查看完整回答
反對(duì) 回復(fù) 2019-03-04
  • 4 回答
  • 0 關(guān)注
  • 606 瀏覽
慕課專欄
更多

添加回答

舉報(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)