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

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

獲取類中特定類型的對象并更改其屬性

獲取類中特定類型的對象并更改其屬性

qq_遁去的一_1 2023-03-30 17:18:35
我有三個類 Box、Tab 和 UI,前兩個在 UI 中被調(diào)用。我想獲取框?qū)嵗ㄔ诒纠袨?Ghi 和 Dni)并在函數(shù)中更改它們的項(xiàng)目(正如您在 get_boxes() 函數(shù)中看到的描述)。class Box():    def __init__(self):        self.name = ''        self.status = 'no'class Tab():    def __init__(self):        self.name = ''class UI():    def __init__(self):        self.__setupui()    def __setupui(self):        self.Ghi = Box()        self.Ghi.name = 'Ghi'        self.Ghi.status = 'yes'        self.Dni = Box()        self.Dni.name = 'Dni'        self.tab = Tab()        self.tab.name = 'tab1'    def get_boxes(self):        # get the Box instances in the UI (such as Ghi and Dni)        # change their status        return  # list of Box instances nameui_sample = UI()如何定義 get_boxes() 函數(shù)?或者一般來說我怎樣才能通過自我循環(huán)。對象并檢查它們的類型然后在類中更改它們的值?
查看完整描述

2 回答

?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個贊

我會在創(chuàng)建所有項(xiàng)目時將其分配給一個列表,這樣很容易迭代,比如self.controls什么的。

type如果您只想對列表中的某些控件執(zhí)行某些操作,則可以使用 python 的函數(shù)來獲取對象的類型名稱。

否則您可能會使用dir(self)orself.__dict__來迭代所有成員,然后您將不得不進(jìn)行類型檢查。


查看完整回答
反對 回復(fù) 2023-03-30
?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個贊

要詳細(xì)說明@jnnnnn,答案get_boxes將如下所示:


def get_boxes(self):

    return [a for a in self.__dict__ if isinstance(a, Box)]

或者更好的是設(shè)置如下:


用戶界面類():


def __init__(self):

    self.boxes = []

    self.__setupui()



def __setupui(self):

    Ghi = Box()

    Ghi.name = 'Ghi'

    Ghi.status = 'yes'

    self.boxes.append(Ghi)


    Dni = Box()

    Dni.name = 'Dni'

    self.boxes.append(Dni)


    self.tab = Tab()

    self.tab.name = 'tab1'


def get_boxes(self):

    return self.boxes


查看完整回答
反對 回復(fù) 2023-03-30
  • 2 回答
  • 0 關(guān)注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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