Python具有复杂的命名空间和模块概念,所以我对此不确定。通常python module
和从它导入的东西有不同的名称或只导入模块,它的内容由完全限定名称使用:
import copy # will use copy.copy
from time import localtime # "localtime" has different name from "time".
但是,如果模块与我从中导入的内容具有相同的名称,该怎么办?例如:
from copy import copy
copy( "something" )
安全吗?也许这是一些我看不到的复杂后果?
答案 0 :(得分:4)
来自PEP8(http://www.python.org/dev/peps/pep-0008/#imports):
从包含类的模块导入类时,通常可以拼写:
from myclass import MyClass
from foo.bar.yourclass import YourClass
如果此拼写导致本地名称冲突,则拼写它们
import myclass
import foo.bar.yourclass
并使用“myclass.MyClass”和“foo.bar.yourclass.YourClass”。