Python 3.5代码-未正确定义类
我有一个简单的代码问题,不知道我做错了什么。导入部分还可以,当我得到一条错误消息时,我想我在类中犯了一个错误Python 3.5代码-未正确定义类,python,oop,python-3.x,Python,Oop,Python 3.x,我有一个简单的代码问题,不知道我做错了什么。导入部分还可以,当我得到一条错误消息时,我想我在类中犯了一个错误 status_listener = SessionStatusListener() TypeError: interface takes exactly one argument 因此,代码是: import clr clr.AddReference ("fxcore2") from fxcore2 import O2GTransport, IO2GSessionStatus cl
status_listener = SessionStatusListener()
TypeError: interface takes exactly one argument
因此,代码是:
import clr
clr.AddReference ("fxcore2")
from fxcore2 import O2GTransport, IO2GSessionStatus
class SessionStatusListener(IO2GSessionStatus):
def __init__(self):
IO2GSessionStatus.__init__(self)
self.connected = False
def onLoginFailed(self, error):
print ("*** LOGIN FAILED: %s" % error)
def onSessionStatusChanged(self, status):
print ("NEW STATUS: %s" % status)
if status == O2GSessionStatusCode.Connected:
self.connected = True
主应用程序从这里开始
if __name__ == "__main__":
session = O2GTransport.createSession()
status_listener = SessionStatusListener()
任何建议都将不胜感激。将论点传递给SessionStatusListener,就像它告诉你的那样。我可以想象,您需要将
\uuuu init\uuu
主体更改为
super().__init__(self)
而不是
IO2GSessionStatus.__init__(self)
我相信是这样说的
status_listener = SessionStatusListener()
需要一个参数,如下所示:
status_listener = SessionStatusListener(1)
我不确定它需要什么类型的数据,但您需要传入一个参数。代码中的任何内容都不会产生该错误消息;
IO2GSessionStatus.\uuuu init\uuuu
期望参数是什么?您可能需要将session
传递给SessionStatusListener
(并将其传递给IO2GSessionStatus
)。为什么super
会改变任何事情?此外,对super
的调用将以隐式和显式参数的形式传递实例。2.7和3.5之间的对象继承是否存在问题?