你如何使用变量作为点符号地址?

时间:2016-02-27 11:49:50

标签: python variables tkinter syntax

我有这个问题,它需要一个点符号地址,但我需要它的一部分是可以改变的。它不接受变量内容,它认为变量名称是地址的一部分。

for item in sorted(vars(self.buttons)):
        vars(self.rbuttons)[item] = ttk.Button(self.mainframe, text=vars(self.buttons)[item][0], width=15, command=lambda: self.addCost(vars(self.buttons)[item][1])
        vars(self.rbuttons)[item].grid(column=self.colCount,row=self.rowCount,sticky=(W,E))

问题出在self.addCost(vars(self.buttons)[item][1])。 我需要arg说:self.buttons.item_value[1]

你是怎么做到的?感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用getattrsetattr功能:

class M:
     def __init__(self):
             self.moo = 'default'

m = M()
print(getattr(m, 'moo')) # 'default'
setattr(m, 'moo', 'changed')
print(getattr(m, 'moo')) # 'changed'