加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 错误 – __init __()需要2个参数(给定1个)

发布时间:2020-12-20 12:22:04 所属栏目:Python 来源:网络整理
导读:我试图从另一个.py初始化类(extraropt),但它给了我一个错误,我搜索但我还没有找到解决方案. 下面是我正在调用的一个py的代码: main.py: class GameWindow(ui.ScriptWindow): def __init__(self,stream): import extraop exec 'extraop.extraropt().Show(st
我试图从另一个.py初始化类(extraropt),但它给了我一个错误,我搜索但我还没有找到解决方案.

下面是我正在调用的一个py的代码:

main.py:

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)

解决方法

在线

exec 'extraop.extraropt().Show(stream)'

您通过创建一个新的extraopt实例隐式调用extraropt .__ init __().在您的代码中,您显示extraropt .__ init __()接受第二个(流)参数,因此您必须将其传入.

extraop.extraropt(stream).Show()

顺便说一句,没有理由你应该做一个exec,而不是像我上面那样明确地调用它.您也没有理由定义__del __()方法,因为您只调用了父__del __()方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读