我喜欢每个文件有一个公共(public)类的 Java 约定,即使有时有充分的理由将多个公共(public)类放入一个文件中。就我而言,我有相同接口(interface)的替代实现。但是如果我将它们放在单独的文件中,我会在 import 语句中使用多余的名称(或误导性的模块名称):
import someConverter.SomeConverter
而 someConverter
是文件(和模块)名称,而 SomeConverter
是类名。这对我来说看起来很不雅。将所有替代类放在一个文件中会导致更有意义的导入语句:
import converters.SomeConverter
但是我担心如果我将所有相关的类放到一个单独的模块文件中,文件会变得非常大。这里的 Python 最佳实践是什么?每个文件一个类是否不寻常?
最佳答案
很多都是个人喜好。使用 python 模块,您可以选择将每个类保存在单独的文件中,并且仍然允许 import converters.SomeConverter
(或 from converters import SomeConverter
)
您的文件结构可能如下所示:
* converters
- __init__.py
- baseconverter.py
- someconverter.py
- otherconverter.py
然后在您的 __init__.py
文件中:
from baseconverter import BaseConverter
from otherconverter import OtherConverter
关于python - 在模块和/或包中组织 Python 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3842616/