我想要的是,我有一个名为foo.py的文件,它从bar1和bar2中导入类,它们都需要bar3,例如:
foo.py
有没有一种更有效的方法,可以使bar3对bar1和bar2文件可用,而不必让它们直接导入它?
foo.py
from src import *
...
src/ __ init__.py
from bar1 import specialSandwichMaker
from bar2 import specialMuffinMaker
src/bar1.py
import bar3
class specialSandwichMaker(bar3.sandwichMaker)
...
src/bar2.py
import bar3
class specialMuffinMaker(bar3.muffinMaker)
...
有没有一种更有效的方法,可以使bar3对bar1和bar2文件可用,而不必让它们直接导入它?
from foo import *
规则的一个例外是,如果foo
中的每个项都以某个在foo
中唯一的名称结尾或开头,则可以理有地使用它。例如,定义一个exceptions
模块,并使每个异常以Error结尾。然后,您只需执行from exceptions import *
,就可以准备好所有要raise
或except
的异常。请注意,如果重新加载模块,则以这种方式导入的类将__不会__随之重新加载。 - aaronasterling