亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何根據python中的字符串獲取類屬性

如何根據python中的字符串獲取類屬性

MMTTMM 2021-03-17 13:19:44
我在python中有一個類,我想根據像這樣的字符串來獲取幾個屬性之一:class my_class:    def __init__(self):        self.att1=1        self.att2=2        self.att3=3    def getatt (self, number):        return self.att(number)我怎樣才能做到這一點?
查看完整描述

2 回答

?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

def getatt(self, number):

    return getattr(self, 'att%d' % number)

或采用新的樣式格式:


def getatt(self, number):

    return getattr(self, 'att{}'.format(number))

還要注意,如果您具有許多這些屬性,則可能應該考慮存儲列表并從它們的索引中檢索元素。


查看完整回答
反對 回復 2021-03-23
?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

我會做類似的事情


class My_Class:

    def __init__(self):

        self.att = {1: 1, 2: 2, 3: 3}

    def getatt(self, number):

        return self.att[number]

    def __getattr__(self, attname):

        if attname.startswith('att') and attname != 'att':

            try: num = int(attname[3:])

            except ValueError: pass

            else: return self.att[num]

        raise AttributeError(attname)

(未試)


這樣,您可以訪問捆綁的數據以及必要時的屬性。


查看完整回答
反對 回復 2021-03-23
  • 2 回答
  • 0 關注
  • 425 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號