Python 错误-\uuuu init\uuuuu()正好接受2个参数(给定1个)
我试图从另一个.py初始化类(extraropt),但它给了我一个错误,我已经搜索了,但还没有找到解决方案 这是我打电话的电话号码: main.py:Python 错误-\uuuu init\uuuuu()正好接受2个参数(给定1个),python,Python,我试图从另一个.py初始化类(extraropt),但它给了我一个错误,我已经搜索了,但还没有找到解决方案 这是我打电话的电话号码: main.py: class GameWindow(ui.ScriptWindow): def __init__(self, stream): import extraop exec 'extraop.extraropt().Show(stream)' 下面是我试图调用的一个py的代码(仅限init和del): extr
class GameWindow(ui.ScriptWindow):
def __init__(self, stream):
import extraop
exec 'extraop.extraropt().Show(stream)'
下面是我试图调用的一个py的代码(仅限init和del):
extraop.py
class extraropt(ui.Window):
def __init__(self, stream):
ui.Window.__init__(self)
self.BuildWindow()
self.stream=stream
def __del__(self):
ui.Window.__del__(self)
它给出了以下错误:
Error - __init__() takes exactly 2 arguments (1 given)
您需要以以下方式初始化父级:
super(extraropt, self).__init__(stream)
exec'extrop.extropt().Show(stream)
行中的stream
变量应传递到extropt
类的构造函数中,如下所示:
exec 'extraop.extraropt(stream).Show()'
排队
exec 'extraop.extraropt().Show(stream)'
通过创建extraopt
的新实例,您正在隐式调用extraropt.\uuu init\uuu()
。在代码中,显示extropt.\uuu init\uuu()
需要第二个(stream
)参数,因此必须传入该参数
extraop.extraropt(stream).Show()
顺便说一句,没有理由说您应该执行
exec
,而不是像上面那样显式地调用它。您也没有理由将\uuu del\uu()
方法定义为只调用父\uuu del\uu()
方法。您好,欢迎光临。在哪一行出现错误?欢迎来到Stack Overflow Miguel!您可能想阅读有关如何发布好问题的常见问题解答。我们喜欢删掉那些闲聊的行为,直截了当地说,因此进行编辑。此外,最好是发布一个完整的、最小的工作示例(包括错误的完整回溯),这样我们可以更好地帮助您。第二行,我没有这么做,但乔尔·科内特得到了我想要的。无论如何,谢谢你。