你能解释我为什么这么做吗?

时间:2013-09-13 15:38:00

标签: python datetime

在我尝试这个

之前,我以为我理解了python模块
import datetime
datetime.now()

AttributeError Traceback(最近一次调用最后一次)  in()
      1个导入日期时间

----> 2 datetime.now() AttributeError:'module'对象没有'now'属性

from datetime import *
datetime.now()

datetime.datetime(2013,9,13,16,35,4,433977)

from datetime import now

ImportError Traceback(最近一次调用最后一次)  in() ----> 1现在从datetime导入 ImportError:现在无法导入名称

我的思维错觉我知道python模块会立即消失。我正在使用ipython notebook

由于

1 个答案:

答案 0 :(得分:4)

datetime模块中有一个名为 datetime的课程。这样:

import datetime

不会直接导入此类:您必须使用datetime.datetime引用它。 datetime单独指的是datetime模块本身。但是,这个:

from datetime import *

导入该类(以及模块中的所有其他内容),这就是为什么您可以使用datetime引用它,而不是使用模块名称限定。

您的第三个代码段不起作用的原因是因为您引用了datetime模块,该模块没有now成员。实际上,nowdatetime 的一部分。