我一直在开发一个全堆栈应用程序,它检查文件并将它们上传到云端。然而,我遇到了一个我无法解决的有趣的问题。
实例化类有问题,如下所示:
class UploadFastq:
def __int__(self,
some_list, some_str, some_obj, **kwargs):
self.some_list = some_list
self.some_obj = some_obj
self.some_str = some_str
def process(self):
self.some_methods_calling_processes()
...正如您所能想象的那样,我已经修改了隐私问题的原始代码(公司指令,对不起)。这个类是处理一些与后端相关的进程,而参数只包含与后端相关的变量.另外,这个类位于不同的py脚本上,它再次导入与返回相关的函数。
现在,问题是,当我导入另一个脚本并尝试调用和实例化类时,会发生一些有趣的事情.
from lib.some_back_related_script import UploadFastq
uploads = UploadFastq(some_list=the_list,some_str=the_str,some_obj=the_obj)
uploads.process产出:
TypeError: UploadFastq() takes no arguments我看过是否有压痕问题,我找不到。(我正在使用PyCharm作为IDE,文件的重新格式化也没有解决)
我还在另一个脚本( gui脚本)上尝试了这一点,并可以将其部分解决为:
from lib.some_back_related_script import UploadFastq
uploader = UploadFastq()
uploader.__int__( ##TODO how is this possible???)
some_list=the_list,some_str=the_str,some_obj=the_obj
)但是,在脚本上,应该调用的类"__init__“方法没有解决这个问题,因此产生了以下错误:
TypeError: UploadFastq.__init__() takes exactly one argument (the instance to initialize)在这一点上,我不知道发生了什么,以及如何解决它。我第一次经历过这样的事情。我在网上也找不到这样的问题。苏,如果你能解释一下如何解决这个问题,我将不胜感激。
P.S.:我在这个平台上做了相当长一段时间的生物信息专家/python开发人员,并找到了许多解决方案。但是,这其实是我关于堆叠溢出的第一个问题!
干杯!
发布于 2022-06-22 17:09:31
您错误地将构造函数名__init__替换为__int__:
def __int__(self, some_list, some_str, some_obj, **kwargs):因此,调用了默认构造函数(它只接受“初始化实例”作为参数),并且解释器正在抱怨给定的参数。
TypeError: UploadFastq.__init__() takes exactly one argument (the instance to initialize)https://stackoverflow.com/questions/72719350
复制相似问题