我对Python很陌生,但来自Lua背景。我确切地知道如何在lua中实现这一点。我确定答案已经存在,但我不知道如何提出问题 - 要搜索哪些术语?类似于'动态定义变量'返回了许多论点,以及使用词典的建议,因为它们就是这样。但就我而言,词典似乎不起作用。
一个精简的例子,其中Button(ID)正在创建一个按钮类的实例:
Button1 = Button(8)
Button2 = Button(3)
Button3 = Button(432)
ButtonClose = Button(5004)
由于我的实际UI中有超过4个按钮,并且我使用它们而不仅仅是实例化类对象,我希望使用某种循环结构来压缩代码。
BtnList = {'Button1' : 8, 'Button2' : 3, 'Button3' : 432, 'ButtonClose' : 5004,}
for btn,ID in BtnList:
# some code here
我尝试在任何循环/函数之外使用以下内容,以避免在测试时出现范围问题:
btns = {}
btns.Button1 = Button(8)
但是,当我收到错误时,这似乎不可能:
属性错误:' dict'对象没有属性' Button1'
请帮忙吗?
答案 0 :(得分:1)
你有一个dict映射问题。它应该改为
btns = {}
btns["Button1"] = Button(8)
然后btns字典中的字符串“Button1”将包含Button对象。