一尘不染

“导入X”和“从X导入*”之间的区别?

python

在Python中,我不太清楚以下两行代码之间的区别:

import X

要么

from X import *

他们不是都只是从模块X导入所有内容吗?有什么不同?


阅读 189

收藏
2020-12-20

共1个答案

一尘不染

之后import x,你可以参考的东西x一样x.something。之后from x import *,您可以x像一样直接引用事物something。因为第二种形式将名称直接导入到本地名称空间,所以如果您从许多模块中导入内容,则可能会产生冲突。因此,from x import *不鼓励使用。

您也可以执行from x import something,仅将something导入到本地名称空间,而不导入中的所有内容x。这样做会更好,因为如果您列出了要导入的名称,则可以确切知道要导入的内容,并且可以更轻松地避免名称冲突。

2020-12-20