如何在项目中正确加载Python类?

如何在项目中正确加载Python类?,python,Python,我以前的结构是: 在文件中,我正在执行以下操作: from CodeModel import CodeModel codemodel = CodeModel.CodeModel() 但这似乎是多余的。是否有更干净的方法导入CodeModel,而不必执行CodeModel.CodeModel() 但是您应该考虑不同的包和模块结构,因为它可能确实是冗余的 如果您有多个(但不是真正的很多)模型,请考虑使用CodeModel和其他模型类创建modules.py。尽可能简化事情(与项目规模相当) 看

我以前的结构是:

在文件中,我正在执行以下操作:

from CodeModel import CodeModel

codemodel = CodeModel.CodeModel()
但这似乎是多余的。是否有更干净的方法导入
CodeModel
,而不必执行
CodeModel.CodeModel()

但是您应该考虑不同的包和模块结构,因为它可能确实是冗余的

如果您有多个(但不是真正的很多)模型,请考虑使用CodeModel和其他模型类创建modules.py。尽可能简化事情(与项目规模相当)

看起来好多了,不是吗

另一个选择是

from .CodeModel import CodeModel
在CodeModel包的
\uuuu init\uuuu.py
内部,Patrick Haugh的评论中已经提到过

但是您应该考虑不同的包和模块结构,因为它可能确实是冗余的

如果您有多个(但不是真正的很多)模型,请考虑使用CodeModel和其他模型类创建modules.py。尽可能简化事情(与项目规模相当)

看起来好多了,不是吗

另一个选择是

from .CodeModel import CodeModel

在CodeModel包的
\uuuu init\uuuuuuuuuuuupy
内部,Patrick Haugh的评论中已经提到过。

来自CodeModel.CodeModel导入CodeModel
;-)或者将
从.CodeModel导入CodeModel
放入您的
\uuuu init\uuuuu.py
中。然后,
从CodeModel导入CodeModel
从包外部导入类。(您可能应该为包、模块和类指定不同的名称,否则很快就会变得非常混乱)您能把这作为一个答案,我会接受吗?为什么
CodeModel.py
甚至在名为
CodeModel
的包中?里面似乎没有别的东西。把那个包裹拿开。我不知道你说的@mkrieger1是什么意思。我想从CodeModel.CodeModel导入CodeModel;-)创建一个名为
CodeModel
的类或者将
从.CodeModel导入CodeModel
放入您的
\uuuu init\uuuuu.py
中。然后,
从CodeModel导入CodeModel
从包外部导入类。(您可能应该为包、模块和类指定不同的名称,否则很快就会变得非常混乱)您能把这作为一个答案,我会接受吗?为什么
CodeModel.py
甚至在名为
CodeModel
的包中?里面似乎没有别的东西。把那个包裹拿开。我不知道你说的@mkrieger1是什么意思。我想创建一个名为
CodeModel
from .CodeModel import CodeModel