我喜欢Java惯例,即每个文件有一个公共(public)类,即使有时有充分的理由将多个公共(public)类放入一个文件中也是如此。就我而言,我有相同接口(interface)的替代实现。但是,如果我将它们放置在单独的文件中,则导入语句中会有多余的名称(或误导的模块名称):

import someConverter.SomeConverter

someConverter是文件(和模块)名称,SomeConverter是类名称。对我来说,这看起来很优雅。将所有替代类放入一个文件将导致更有意义的import语句:
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

10-05 21:55