Python 未绑定方法类型错误

19 投票
3 回答
67252 浏览
提问于 2025-04-16 17:42

这个方法 get_pos 是用来获取用户在输入框中输入的内容的。当你执行 get_pos 时,它返回了一个错误信息:

类型错误:未绑定的方法 get_pos() 必须以应用实例作为第一个参数调用(但什么都没有传入)

代码:

class app(object):
    def __init__(self,root):
        self.functionframe=FunctionFrame(root, self)
            self.functionframe.pack(side=BOTTOM)
    def get_pos(self):
        self.functionframe.input(self)
class FunctionFrame(Frame):
    def __init__(self,master,parent):
        Frame.__init__(self,master,bg="grey90")
        self.entry = Entry(self,width=15)
        self.entry.pack
    def input(self):
        self.input = self.entry.get()
        return self.input

3 个回答

3

我的水晶球告诉我,你是把 app.get_pos 绑定到一个按钮上,使用的是类 app(其实应该叫 App),而不是创建一个实例 app_instance = app,然后用 app_instance.get_pos

当然,正如其他人指出的,你发布的代码还有很多其他问题,所以很难猜测你没有发布的代码中的错误。

16

我在创建一个类的实例时,忘记在类名后面加上括号,结果遇到了这个错误:

从我的包中导入 MyClass

# wrong
instance = MyClass

instance.someMethod() # tries to call MyClass.someMethod()

# right
instance = MyClass()


instance.someMethod()
47

你报告了这个错误:

类型错误:未绑定的方法 get_pos() 必须用 app 实例作为第一个参数调用(结果什么都没有)

用简单的话来说,这意味着你可能在做这样的事情:

class app(object):
    def get_pos(self):
        ...
...
app.get_pos()

你需要做的应该是这样的:

the_app = app()  # create instance of class 'app'
the_app.get_pos() # call get_pos on the instance

因为你没有展示导致错误的实际代码,所以很难给出更具体的建议。

撰写回答