我正在尝试开发一个函数来创建一个包含许多Tkinter对象(标签、按钮、spinbox等)的新选项卡。然后将此函数分配给根窗口中的许多按钮(按钮编号作为函数参数)。我想做的是重命名函数体中的变量,在它们的原始名称中添加一个后缀,这是函数的参数。此外,其中一个变量是全局变量(用作计数器)。你知道吗
var_1 = 0
var_2 = 0
def relay_btn(relay_number):
var_n = 'var_' + str(relay_number)
global var_n
vars()[var_n] = 0 + relay_number
relay_btn(1)
relay_btn(2)
print(var_1)
print(var_2)
因此,我希望分别看到1和2,而不是0。你知道吗
在函数
relay_btn
内调用vars()时,仍然引用该函数范围内的变量。你知道吗在这里,我使用
return
将它们返回到全局范围,并在那里分配变量。你知道吗用一个动态生成的变量名在函数中完成这一切并不是那么容易。。因为您不能将
eval
用于赋值。。但我希望我能说服你找到一个不同的方法来做你正在做的事情。。一般认为这是个坏主意。有没有理由不能使用一个设计用来存储动态生成的键值关联(如字典)的数据结构?你知道吗相关问题 更多 >
编程相关推荐