建议有节制的使用from import
1 尽量优先使用import a,import a.B
2 有节制使用from a import B
3 尽量避免使用from a import * 会污染命名空间
A 会导致命名空间冲突
例如a.py,b.py都有add 函数
from a import add from b import add if __name__ == '__main__' math()
第二个from import 会覆盖掉第一个。使用了第二个add
B 循环嵌套导入的问题
c.py
from d import g def x(): pass
d.py
from c import x def g(): pass
上面2个文件都会执行失败。建议直接使用import
c.py
import d def x(): pass
d.py
import c def g(): pass