我需要澄清在同一个命名空间中共存时如何处理模块和类级别的导入。请参阅以下示例:
作品:
import datetime
print datetime.datetime.utcnow()
失败:
from datetime import datetime
print datetime.datetime.utcnow()
错误:AttributeError:类型对象“datetime.datetime”没有属性“datetime”
作品:
from datetime import datetime # Is this ignored?
import datetime
print datetime.datetime.utcnow()
第三个例子到底发生了什么?第二个模块导入是否替换了特定于类的第一个导入?这是否意味着模块和类级别的导入不应该混合在同一个命名空间中?