我对python的导入机制没有很清楚的了解。令我困惑的一件事是:当python导入模块时,它是否还会导入在那里导入的名称。这是代码:
# A.py
def A_func():
pass;
# B.py
from A import *;
def B_func():
pass;
# C.py
from B import *;
def C_func():
# I can use B_func, OK, no problem.
# I can use A_func here, is import recursive?
如果python递归导入,我的代码是不是很糟糕?如果我添加会怎样?
from A import *;
到C.py?导入两次是否会导致任何开销?还是应该避免使用“ from xx import *”,而仅导入所需的名称?
谢谢!
仅在第一次import
调用模块时执行代码。后续导入仅复制名称和引用。
话虽如此,请不要导入*
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句