0

问题:我在文件夹中有一个包含类和一些函数的脚本(带有 __ init __ .py)。在根文件夹中,我有一个main.py脚本。

在主脚本中,我使用模型调用了模块:

import folder.script

而且,我用模型调用了模块:

folder.script.class.function()

'class' 是用作模块的脚本类。'function' 是相对于类的函数。

但是,我收到一个输出错误:

TypeError: unbound method function() must be called with class instance as first argument 

(一无所获)

错误在哪里?

4

1 回答 1

2

这意味着function需要先有一个实例,class然后才能使用它。使您的代码如下所示:

folder.script.class(...).function()

通过(...)在类名之后添加,您可以创建该类的一个实例。

但是,这样做可能会更好:

var = folder.script.class(...)
var.function()

这样,您可以稍后在脚本中以var.

或者,如果function它的构造方式实际上不需要类实例来工作,为什么不将它完全移出类并将其放在模块中呢?您应该只将函数放在类中,如果它们需要在那里才能正常工作。

注: ...意思是放需要的东西。我不知道有什么论据(如果有的话)class.__init__。如果不需要,那么做就行了()

于 2013-11-02T15:44:49.257 回答