【发布时间】:2018-02-07 18:30:47
【问题描述】:
我有一个名为“const_a.py”的文件 里面有这个
ONE = 1
TWO = 2
然后我有另一个名为“const_b.py”的 const 文件 它有这个
from const_a import *
THREE = 3
FOUR = 4
最后我在 test.py 中打印出一些值
from const_b import *
print(ONE)
print(THREE)
打印出 1 和 3。我原以为它会在尝试打印 ONE 时出错。显然const_b 现在有const_a。
这种行为叫什么?是故意的吗?
【问题讨论】:
-
你认为 import 语句有什么作用?
-
这种行为有什么令人困惑的地方?
-
这叫做导入。在
const_by.py中,您执行了from const_a import *,它将const_a中的所有内容分配给const_b的全局命名空间中的同名 -
你已经将
const_a中的所有名称导入const_b,然后将const_b中的所有名称导入__main__,所以它没有理由不工作。 -
哦,正在导入!呃
标签: python