gpt4 book ai didi

python - 错误 - __init__() 恰好接受 2 个参数(给定 1 个)

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:29 26 4
gpt4 key购买 nike

我正在尝试从另一个 .py 初始化类 (extraropt),但它给了我一个错误,我搜索过但没有找到解决方案。

这是我调用的一个 py 的代码:

ma​​in.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__() 需要第二个 (stream) 参数,因此您必须将其传入。

extraop.extraropt(stream).Show()

顺便说一句,你没有理由执行 exec 而不是像我上面那样显式调用它。您也没有理由定义 __del__() 方法,因为无论如何您只调用父 __del__() 方法。

关于python - 错误 - __init__() 恰好接受 2 个参数(给定 1 个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16024166/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com