如何将Python模块拆分成多个文件?

Ada*_*dam 16 python python-module

我有一个Python模块,它包含3个类:A,A1和A2.A1和A2源自A.A包含在A1和A2上运行的功能.

当它在一个.py文件中时,一切正常.但是该文件已经增长了很长时间,我想将A1和A2分成自己的文件.尽管存在循环依赖,我如何拆分此文件?

spa*_*ggs 11

modA.py:

class A(...):
   ...
Run Code Online (Sandbox Code Playgroud)

modA1.py:

import modA
class A1(modA.A):
   ...
Run Code Online (Sandbox Code Playgroud)

modA2.py:

import modA
class A2(modA.A):
   ...
Run Code Online (Sandbox Code Playgroud)

modfull:

from modA import A
from modA1 import A1
from modA2 import A2
Run Code Online (Sandbox Code Playgroud)

即使A"处理"A1和A2你应该没问题,因为鸭子打字你不需要导入实际的名字.