我喜欢Java惯例,即每个文件有一个公共类,即使有时有充分的理由将多个公共类放入一个文件中也是如此。就我而言,我有相同接口的替代实现。但是,如果我将它们放置在单独的文件中,则导入语句中会有多余的名称(或误导的模块名称):
import someConverter.SomeConverter
而someConverter将是文件(和模块)名称和SomeConverter类名称。对我来说,这看起来很优雅。将所有替代类放入一个文件将导致更有意义的import语句:
someConverter
SomeConverter
import converters.SomeConverter
但是,如果将所有相关类放入单个模块文件中,我担心文件会变得很大。这里的Python最佳做法是什么?每个文件一个类是否异常?
很多是个人喜好。使用python模块,您可以选择将每个类保存在单独的文件中,并且仍然允许import converters.SomeConverter(或from converters import SomeConverter)
from converters import SomeConverter
您的文件结构可能如下所示:
* converters - __init__.py - baseconverter.py - someconverter.py - otherconverter.py
然后在您的__init__.py文件中:
__init__.py
from baseconverter import BaseConverter from otherconverter import OtherConverter