我在阅读python日期时间模块时注意到,有时响应会显示
from datetime import datetime (or date or time)
我不知道为什么我应该或会这样做。这背后的理性是什么,或者有人能给我一些资源来解释这一点吗?
datetime
模块定义了一堆不同的类。如果你只是使用
import datetime
然后,您必须编写类似datetime.datetime.strptime()
的内容——第一个datetime
是模块名称,第二个是类名。通过使用from
语法,您可以将其缩短为仅datetime.strptime()
。
datetime
模块内部有多个类。虽然一开始这个名称可能看起来很混乱,但当你将其与另一个模块(如随机模块(进行比较时,它开始变得更有意义。
如果我们只使用random
模块中的randint
,我们不想导入整个随机模块,因此我们将执行以下操作:from random import randint
它与datetime的概念相同,只是我们想要的datetime的唯一部分是datetime
类。在模块datetime
的内部有一个datetime
类,这就是模块random
中有randint
函数的原因。
如果你想导入整个随机模块,那么使用randint你会做:
import random
random_number = random.randint(0, 5)
就像你想导入整个日期时间模块一样,然后使用你要做的日期时间类:
import datetime
now = datetime.datetime.now()
第一个datetime
指的是模块,而第二个是其中定义的类型。根据应用程序,您可以选择导入datetime.datetime、datetime.date或datetime.time。
更多信息可以在链接上找到
日期时间
模块参考
日期时间
消除歧义:datetime,是一个内置的Python库(包、模块(,属于数据类型的划分。它基本上是一个以这种方式命名的文件:
datetime.py
该文件中有类,通常称为模块/类属性。
文件结构
├── datetime.py
├── class date(builtins.object)
├── class time(builtins.object)
└── class datetime(date)