小编典典

在模块和/或包中组织Python类

python

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

import someConverter.SomeConverter

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

import converters.SomeConverter

但是,如果将所有相关类放入单个模块文件中,我担心文件会变得很大。这里的Python最佳做法是什么?每个文件一个类是否异常?


阅读 182

收藏
2021-01-20

共1个答案

小编典典

很多是个人喜好。使用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
2021-01-20