Python 为什么可以';是否从datetime模块导入now()?

Python 为什么可以';是否从datetime模块导入now()?,python,datetime,import,Python,Datetime,Import,我浏览了datetime.py文件,它确实有一个now()方法/函数,我认为import用于包含特定的方法和变量。now()是datetime类的一个方法: from datetime import datetime print(datetime.now()) datetime.datetime(2016, 1, 11, 15, 8, 22, 634020) 如果您想立即使用,可以执行以下操作: now = datetime.now print(now()) datetime.datetime

我浏览了datetime.py文件,它确实有一个now()方法/函数,我认为import用于包含特定的方法和变量。

now()
datetime
类的一个方法:

from datetime import datetime
print(datetime.now())
datetime.datetime(2016, 1, 11, 15, 8, 22, 634020)
如果您想立即使用,可以执行以下操作:

now = datetime.now
print(now())
datetime.datetime(2016, 1, 11, 15, 9, 24, 683569)
实际上是
日期时间
的一种方法,可以从模块
日期时间
导入

from datetime import datetime

now = datetime.now()
导入日期时间
打印日期时间
打印datetime.datetime#
打印datetime.datetime.now#
打印datetime.datetime.now()#2016-01-11 14:07:23.763000
datetime是模块,它实际上只是一个包含类的python文件

datetime.datetime是在该python文件中定义的类

datetime.datetime.now是该类中定义的方法。因此,如果不实际导入类,它是不可导入的


最后,datetime.datetime.now()是调用以返回值的方法。

@tripleee:您不能导入类方法(除非这些是模块对象的属性,并且
datetime.datetime
不是模块)。@J.F.Sebastian确实,我很惊讶它可以工作,但我尝试了,当然失败了。
import datetime

print datetime # <module 'datetime' (built-in)>

print datetime.datetime # <type 'datetime.datetime'>

print datetime.datetime.now # <built-in method now of type object at 0x00000000701B9300>

print datetime.datetime.now() # 2016-01-11 14:07:23.763000