将 Python 模块拆分为多个文件

Splitting Python module into many files

我的 Python 模块变得太大了。所以不是单个文件

paradigms.py

class Hub: ...
class Virement: ...
class Bond: ...
class Credit: ...

我想要一个目录 paradigms,里面有两个文件:

transfer.py

class Hub: ...
class Virement: ...

credit.py

class Bond: ...
class Credit: ...

(当然,无论是文件个数,还是一个文件中类的个数,都要大得多。)

问题是我想像以前一样继续使用 paradigms

import paradigms
paradigms.Hub(...).clear()

from paradigms import Credit

甚至

from paradigms import *

所以,在某种程度上,我希望 transfercredit 名称在外部接口中消失,而我的模块(我想现在它是一个包)出现在外部就像一个单一的模块。这可以相对容易地完成吗?

您可以创建一个 paradigms 包,其中包含您的两个模块 transfer.pycredit.py,将它们的 类 导入到包中 __init__.py 中的级别:

paradigms/
    __init__.py
    credit.py
    transfer.py

__init__.py 将是:

from credit import *
from transfer import *

然后你可以这样做:

import paradigms
paradigms.Bond

等等