我编写了一个类,让我可以传入变量类型、变量名、提示和默认值的列表。该类创建了一个 wxPython 面板,该面板显示在一个框架中,允许用户在按下计算按钮之前设置输入值并将结果作为绘图返回。我使用 exec 语句将所有变量添加到类中。这将所有变量放在一个类中,我可以按名称引用它们。
light = Variables( frame , [ ['f','wavelength','Wavelength (nm)',632.8] ,\
['f','n','Index of Refraction',1.0],])
在类中,我使用以下语句创建和设置变量:
for variable in self.variable_list:
var_type,var_text_ctrl,var_name = variable
if var_type == 'f' :
exec( 'self.' + var_name + ' = ' + var_text_ctrl.GetValue() )
当我需要使用变量时,我可以通过名称来引用它们:
wl = light.wavelength
n = light.n
然后我读到 SO 很少需要在 Python 中使用 exec 。这种方法有问题吗?有没有更好的方法来创建一个包含应该组合在一起的变量的类,您希望能够编辑,并且还有代码和 wxPython 调用来显示、编辑(以及将所有变量保存到文件中)或再次阅读它们)?
生硬