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

标签 python class module package

我喜欢每个文件有一个公共(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/

相关文章:

python - Python 初学者帮助使用循环

java - 使用匿名类

缺少 Android Studio 导入模块按钮

apache - 如何缓存 Apache GZIP 压缩内容

php - GAE - wordpress 作为 Python 应用程序内的模块

python - 使用 Tensorflow contrib keras 时导入语句

c# - python中的yield == C#中的yield return?

python - 在 Python 中导入文件?

javascript - 修改子类实例中的变量

c++ - 如何将二进制字符串转换为base64编码的数据