将包导入多个文件的最典型方法是什么?是导入到通用模块然后再导入该模块的最佳方法,还是有办法在__init__.py之类的地方做到这一点?
这是我要避免的重复:
file1.py
from typing import NoReturn
...
file2.py
from typing import NoReturn
...
file3.py
from typing import NoReturn
...
答案 0 :(得分:1)
实际上没有。 NoReturn
或任何东西都必须从某个地方导入。
您可以像这样从“外部”向模块“注入”属性:
# this is __init__py
from typing import NoReturn
from . import file1
from . import file2
file1.NoReturn = file2.NoReturn = NoReturn
但是:
即
# this is file1.py
def func() -> NoReturn: # will fail, NoReturn undefined at import time
raise ...