我正在使用Head First Python,并且有一个例子:
from datetime import datetime
odds = [ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19,
21, 23, 25, 27, 29, 31, 33, 35, 37, 39,
41, 43, 45, 47, 49, 51, 53, 55, 57, 59 ]
right_this_minute = datetime.today().minute
#if right_this_minute in odds:
#print("This minute seems a little odd.")
#else:
#print("Not an odd minute.")
现在,如果我将“import datetime”替换为“from datetime import datetime”,则解释器会给出错误:
right_this_minute = datetime.today()。分钟 AttributeError:module'datetime'没有属性'today'
我不明白为什么“from datetime import datetime”有效,但“import datetime”却没有。我已经经历了一些关于此问题的stackoverflow Q& A,但我显然错过了一些东西。
任何建议都将不胜感激。
答案 0 :(得分:0)
首先,有两个名为datetime
的“事物”:模块和模块定义的类。
您使用的两个导入选项具有不同的行为。
当你跑步时:
from datetime import datetime
第一个是模块,第二个是类。 Python只从模块中导入一个类(datetime
)。从那时起,Python将理解datetime
来引用该类。
当你跑步时:
import datetime
导入整个模块,因此Python会将datetime
理解为模块。要访问课程datetime
,您需要使用datetime.datetime
。