我在检查 datetime.date 的类型时遇到了麻烦。我不知道在 python 中进行良好的类型检查是否很麻烦,或者我是否遗漏了什么:
In [14]: type(datetime.date)
Out[14]: type
In [15]: type(d)
Out[15]: datetime.date
In [16]: arbitrary = datetime.date(1990, 1, 1)
In [17]: type(arbitrary)
Out[17]: datetime.date
我想要一些比每次都需要在 __init__ 中制作假日期更简单的东西
import datetime
class Month(object):
def __init__(self, dateobj):
if type(dateobj) == the type of datetime.date:
we're good
else:
raise Exception('Please feed me a dateobj')
检查这些类型的最快方法是什么,因为基类的类型通常返回无用的 type。谢谢
请您参考如下方法:
我使用 isinstance用于类型检查:
>>> import datetime
>>> isinstance('2016', datetime.datetime)
False
>>> today = datetime.datetime.now()
>>> isinstance(today, datetime.datetime)
True
