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

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

Python將類(lèi)屬性導(dǎo)入方法本地名稱(chēng)空間

Python將類(lèi)屬性導(dǎo)入方法本地名稱(chēng)空間

藍(lán)山帝景 2021-03-19 18:15:10
我一直想知道是否有更簡(jiǎn)單的方法將類(lèi)屬性分配給方法本地名稱(chēng)空間。例如,在dosomething方法中,我顯式地引用self.a和self.b:class test:    def __init__(self):        self.a = 10        self.b = 20    def dosomething(self):        a = self.a        b = self.b        return(a + b)但是有時(shí)我有很多變量(超過(guò)10個(gè)),而且鍵入和查看時(shí)會(huì)很亂-var = self.var在方法的開(kāi)頭我會(huì)有一堆語(yǔ)句。有什么辦法可以做得更緊湊嗎?(我知道更新local()不是一個(gè)好主意)編輯:理想情況下,我想要的是:def dosomething(self):    populate_local_namespace('a', 'b')    return(a + b)
查看完整描述

4 回答

?
皈依舞

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

我發(fā)現(xiàn)了另一種方法:


def dosomething(self):

    for key in ['a', 'b']:

       exec('{} = self.{}'.format(key, key))


    return(a + b)

我不知道這是否危險(xiǎn)。如果有人可以對(duì)此發(fā)表評(píng)論,那就太好了。


查看完整回答
反對(duì) 回復(fù) 2021-03-31
?
夢(mèng)里花落0921

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

通過(guò)將變量存儲(chǔ)在字典中,您可以通過(guò)權(quán)衡輕松解決此問(wèn)題。


data = {}

copy_to_local_variables = ["a", "b", "c", "d"]

for var_name in copy_to_local_variables:

    data[var_name] = getattr(self, var_name)

(盡管我無(wú)法理解為什么您需要將類(lèi)屬性復(fù)制到方法本地名稱(chēng)空間中)


查看完整回答
反對(duì) 回復(fù) 2021-03-31
  • 4 回答
  • 0 關(guān)注
  • 212 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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