使用'from copy import copy'语句在Python中是否安全?

时间:2012-08-21 09:12:13

标签: python python-import

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" )

安全吗?也许这是一些我看不到的复杂后果?

1 个答案:

答案 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”。