Python方法无法识别参数

Python方法无法识别参数,python,function,methods,parameters,Python,Function,Methods,Parameters,因此,我正在做一个课外图形用户界面来学习python,并复习我在学校学到的主题,如rsa、fib和其他数学相关主题 我试着使用一个通用的clearOptFrameself,当任何帧都在运行时可以调用该帧来重置回主选项帧,以便从RSA帧转到主菜单,clearOptFramersaFrame将被调用,用户将返回主菜单 但由于某些原因,我的代码无法识别传递给它的参数帧。 这是我的密码: #middle of calling function global backButton backButton =

因此,我正在做一个课外图形用户界面来学习python,并复习我在学校学到的主题,如rsa、fib和其他数学相关主题

我试着使用一个通用的clearOptFrameself,当任何帧都在运行时可以调用该帧来重置回主选项帧,以便从RSA帧转到主菜单,clearOptFramersaFrame将被调用,用户将返回主菜单

但由于某些原因,我的代码无法识别传递给它的参数帧。 这是我的密码:

#middle of calling function
global backButton
backButton = Button(optimizeFrame, text="Back", command = clearOptionFrame(optimizeFrame))

backButton.pack()

goButton2.pack()

#Clears the frame and inits main menu
def clearOptionFrame(self, frame):
    frame.pack_forget()
    initOptionFrame()
当我运行这段代码时,我得到一个错误,声称clearOptionFrame没有参数:

  File "mathGUI.py", line 26, in optInit
    backButton = Button(optimizeFrame, text="Back", command = clearOptionFrame(optimizeFrame))
TypeError: clearOptionFrame() takes no arguments (1 given)

为什么会这样?

在您的作用域中,您的类之外可能还有另一个同名函数。如果没有自引用,您不能调用非静态的类函数,即self.clearOptionFrameAh是的,我确实有一个同名的函数,但是现在clearOptFrameframe即使未单击backButton也会运行。这是为什么?同样,您正在运行另一个函数,而不是您认为正在运行的函数。。。