dea*_*mon 56 python module class package
我喜欢每个文件都有一个公共类的Java约定,即使有时候有充分的理由将多个公共类放入一个文件中.在我的情况下,我有相同的接口的替代实现.但是如果我将它们放在单独的文件中,我会在import语句中使用冗余名称(或误导模块名称):
import someConverter.SomeConverter
Run Code Online (Sandbox Code Playgroud)
而someConverter
将是文件(和模块)名称和SomeConverter
类名称.这看起来非常不优雅.要将所有替代类放入一个文件中,将导致更有意义的import语句:
import converters.SomeConverter
Run Code Online (Sandbox Code Playgroud)
但我担心如果将所有相关的类放入单个模块文件中,文件会变得非常大.这里的Python最佳实践是什么?每个文件一个类是不寻常的?
Zac*_*ach 59
很多是个人偏好.使用python模块,您可以选择将每个类保存在单独的文件中,并仍然允许import converters.SomeConverter
(或from converters import SomeConverter
)
您的文件结构可能如下所示:
* converters
- __init__.py
- baseconverter.py
- someconverter.py
- otherconverter.py
Run Code Online (Sandbox Code Playgroud)
然后在你的__init__.py
文件中:
from baseconverter import BaseConverter
from otherconverter import OtherConverter
Run Code Online (Sandbox Code Playgroud)
Spu*_*dun 44
Zach的解决方案打破了Python 3.这是一个固定的解决方案.
很多是个人偏好.使用python模块,您可以选择将每个类保存在单独的文件中,并仍然允许import converters.SomeConverter
(或from converters import SomeConverter
)
您的文件结构可能如下所示:
* converters
- __init__.py
- baseconverter.py
- someconverter.py
- otherconverter.py
Run Code Online (Sandbox Code Playgroud)
然后在你的__init__.py
文件中:
from converters.baseconverter import BaseConverter
from converters.otherconverter import OtherConverter
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30036 次 |
最近记录: |