我正在学习 Python,并且一直在玩弄包。我想知道在包中定义类的最佳方式。似乎在包中定义类的唯一方法是在该包的 __init__.py
中定义它们。来自 Java,我有点想为我的类定义单独的文件。这是推荐的做法吗?
我希望我的目录看起来像这样:
recursor/
__init__.py
RecursionException.py
RecursionResult.py
Recursor.py
所以我可以将我的类称为 recursor.Recursor
、recursor.RecursionException
和 recursor.RecursionResult
。这在 Python 中可行或推荐吗?
最佳答案
继续在单独的模块中定义您的类。然后让 __init__.py
做这样的事情:
from RecursionException import RecursionException
from RecursionResult import RecursionResult
from Recursor import Recursor
这会将每个类导入包的根命名空间,因此调用代码可以引用 recursor.Recursor
而不是 recursor.Recursor.Recursor
。
不过,我觉得有必要回应其他一些评论:Python 不是 Java。我建议将密切相关的类分组到一个模块中,而不是为太阳下的每个类创建一个新模块。这样更容易理解您的代码,并且调用代码不需要大量导入。
关于python - 在包中定义类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3024472/