Python 未绑定方法类型错误
这个方法 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
因为你没有展示导致错误的实际代码,所以很难给出更具体的建议。