我有两个班级:
In [91]: my_det(np.arange(9).reshape(3,3))
Out[91]: 0.0
,Stock()
,averageopen
,averagehigh
是averagelow
类的方法。Stock()
是AppGUI()
文件。 问题:我想调用Tkinter
类中Stock()
类的每个平均方法
StartPage
如何调用Class StartPage():
......
......
# calculate check boxes button
self.button_calculate = tk.Button(self,
text="Calculate",command=self.average)
self.button_calculate.pack()
self.button_calculate.place(x=180, y=300)
self.Google = Stock()
button_dict = {`'Average Open': self.Google.averageopen,
'Average High': self.Google.averagehigh,
'Average Low': self.Google.averagelow`}
中的值?
什么时候这样做,它返回button_dict
,但我想只调用函数本身?
答案 0 :(得分:0)
您可以通过访问字典值并传入任何其他参数的参数来调用它:
button_dict['Average Open'](parameter, parameter, ...)
如果它正在返回PY_VAR0
,那与你如何调用它无关。无论如何调用,该函数都将返回相同的内容。
通常,当您看到PY_VAR0
时,这意味着您在使用值StringVar的实例 >
以下代码将打印“PY_VAR0”
foo = tk.StringVar(value="this is foo")
print(foo)
以下将打印“this is foo”:
foo = tk.StringVar(value="this is foo")
print(foo.get())
foo =
答案 1 :(得分:-2)
您可以使用eval()函数动态调用字典中包含的函数。这是一个简单的例子:
class Stock(object):
def averageopen(self):
return True
s = Stock()
the_dict = {}
the_dict.update({'Average Open':s.averageopen})
#see that we're about to execute
print 's.' + the_dict['Average Open'].__name__ + '()'
#now execute it
print eval('s.' + the_dict['Average Open'].__name__ + '()')
运行此代码将返回存储在dict中的函数引用的值:True
您可以通过在'()'之间添加参数将参数连接到字符串中。必要时迭代。