作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
假设我有一个如下所示的 model.py
文件:
class Foo():
..
class Bar():
..
我从其他模块导入 model
然后使用 model.Foo()
每当我想提及它们时。
import model
foo = model.Foo()
随着这个文件越来越大,我想拆分每个类分成多个文件,但如果不破坏向后兼容性可能。
我的想法是这样打破它:
model
├── __init__.py
├── foo.py
└── bar.py
但是通过这样做,我将不得不将它们称为 model.foo.Foo()
。
所以我的问题是:是否可以以某种方式将其拆分为多个文件,但仍将它们称为 model.Foo()
?
我还应该能够在 Bar
中扩展或使用 Foo
。
最佳答案
当然可以,只需导入 __init__.py
中的类即可:
# in __init__.py
from model.foo import Foo
from model.bar import Bar
然后当您希望使用它们时,您可以:
>>> import model
>>> model.Bar()
<model.bar.Bar object at 0x31306d0>
或
>>> from model import Foo
>>> Foo()
<model.foo.Foo object at 0x31307d0>
关于python - 如何在不破坏向后兼容的情况下将一个模块拆分为多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24100558/
我是一名优秀的程序员,十分优秀!