如何把变量的值变为self.obj其中的obj的名字?

比如: 我在一个方法中要用到
self.bt1…
bt1是变化的, 可能是bt1, 也可能是bt2, 对应的QT5的一个控件的名字.
现在我传递了 一个值text 到这个方法,
print(text)显示确实是bt1,

但是我使用 self.text… 是出错的, 说self没有text 属性

讨论数量: 2
Jason990420

You can use method __getattribute__ for attributes of an object.

class Example():

    def __init__(self):
        self.a = 100
        self.b = 'book'
        self.c = ('Jason', 'Yang')

    def go(self):
        pass

e = Example()
print(e.__dict__)

for text in e.__dict__:
    print(e.__getattribute__(text))
{'a': 100, 'b': 'book', 'c': ('Jason', 'Yang')}
100
book
('Jason', 'Yang')
3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!