问题:我的脚本中有一个类和一些函数在文件夹中(带有__ 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
(没有得到任何东西)
错误在哪里?
答案 0 :(得分:2)
这意味着function
要求首先使用class
的实例才能使用它。使你的代码像这样:
folder.script.class(...).function()
通过在类名后面添加(...)
,可以创建该类的实例。
但是,最好这样做:
var = folder.script.class(...)
var.function()
这样,您可以稍后在脚本中使用名为var
的类实例。
或者,如果构造function
使得实际上不需要类实例工作,为什么不将它完全移出类并将其放在模块中?只有在函数需要时才能将函数放在类中才能正常工作。
注意: ...
表示放置所需内容。我不知道class.__init__
需要什么参数(如果有的话)。如果没有,只做()
就行了。