Gor*_*not 3 python init typeerror
出于某种原因,我无法左右让我的头__init__和__new__.我有一堆从终端运行良好的代码,但当我将其作为Google快速搜索框的插件加载时,我收到错误TypeError: default __new__ takes no parameters.
我一直在读这个错误,这让我的脑子旋转起来.目前我有3个类,没有子类,每个类都有自己def的类.我从不使用def __init__或def __new__,但我已经明确感觉这些是给我错误的功能(或缺少它).
我不知道如何将代码汇总到一个在这里有用的代码片段,因为我有点过头,但整个脚本都可以在github上找到.不要指望任何人为我修改我的代码,我只是在我的智慧结束.一个简单的(简单的英语,而不是python文档的引用,我已经阅读了20次,但仍然没有真正理解)探索为什么会出现这个错误,或者为什么我应该,或者不是,使用__init__和/或__new__功能将得到认真的赞赏.
最简单的方法来重现您的问题:
>>> class Bah(object): pass
...
>>> x = Bah(23)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: default __new__ takes no parameters
Run Code Online (Sandbox Code Playgroud)
所以看起来你的代码中有一个类(不是从终端运行,然后你做了非常不同的导入),没有__init__定义,你在某个地方用一些参数调用类.在错误回溯中,您应该获得调用发生的位置(如果没有,例如由于GUI细微之处,您可以使用try/except围绕所有内容并确保将回溯转储到except子句中的/ tmp文件,使用traceback来自标准库的模块).