4

Python 有复杂的命名空间和模块概念,所以我对此不确定。通常 pythonmodule和从它导入的东西有不同的名称,或者只导入模块并且它的内容由完全限定名称使用:

import copy # will use copy.copy
from time import localtime # "localtime" has different name from "time".

但是,如果模块与我从中导入的东西具有相同的名称怎么办?例如:

from copy import copy
copy( "something" )

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

4

1 回答 1

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

于 2012-08-21T09:25:24.620 回答