Organizing Python classes in modules and/or packages
我喜欢每个文件都有一个公共类的Java约定,即使有时候有充分的理由将多个公共类放入一个文件中。 在我的情况下,我有相同的接口的替代实现。 但是如果我将它们放在单独的文件中,我会在import语句中使用冗余名称(或误导模块名称):
1 | import someConverter.SomeConverter |
而
1 | import converters.SomeConverter |
但我担心如果将所有相关的类放入单个模块文件中,文件会变得非常大。 这里的Python最佳实践是什么? 每个文件一个类是不寻常的?
很多是个人偏好。 使用python模块,您可以选择将每个类保存在单独的文件中,并仍然允许
您的文件结构可能如下所示:
1 2 3 4 5 | * converters - __init__.py - baseconverter.py - someconverter.py - otherconverter.py |
然后在
1 2 | from baseconverter import BaseConverter from otherconverter import OtherConverter |
Zach的解决方案打破了Python 3.这是一个固定的解决方案。
很多是个人偏好。 使用python模块,您可以选择将每个类保存在单独的文件中,并仍然允许
您的文件结构可能如下所示:
1 2 3 4 5 | * converters - __init__.py - baseconverter.py - someconverter.py - otherconverter.py |
然后在
1 2 | from converters.baseconverter import BaseConverter from converters.otherconverter import OtherConverter |