Python 中检查变量是否是日期时间对象
使用 isinstance 内置函数检查变量是否是 Python 中的日期时间对象,例如 if isinstance(today, datetime):。 如果传入的对象是传入类的实例或子类,则 isinstance 函数返回 True。
from datetime import datetime
today = datetime.today()
print(today)
if isinstance(today, datetime):
# ?️ this runs
print('variable is datetime object')
else:
print('variable is NOT datetime object')
如果传入的对象是传入类的实例或子类,则 isinstance 函数返回 True。
我们从 datetime 模块导入了 datetime 类。
如果我们创建一个日期对象并检查它是否是 datetime 的一个实例,将返回 False。
from datetime import datetime, date
d = date(2022, 9, 24)
if isinstance(d, datetime):
print('variable is datetime object')
else:
# ?️ this runs
print('variable is NOT datetime object')
运行 else 块是因为日期对象不是日期时间的实例,它们是日期类的实例。
from datetime import date
d = date(2022, 9, 24)
# ?️ pass date as second arg to isinstance
if isinstance(d, date):
# ?️ this runs
print('variable is datetime object')
else:
print('variable is NOT datetime object')
我们还可以使用 is 运算符来检查对象是否为日期时间对象。
from datetime import datetime, date
d = date(2022, 9, 24)
print(type(d) is date) # ?️ True
today = datetime.today()
print(type(today) is datetime) # ?️ True
is 和 is not 运算符测试对象的身份:仅当 x 和 y 是同一对象时 x is y 才为真。
使用 id 函数确定对象的身份。
x is not y 返回逆真值。
type 函数返回对象的类型。
from datetime import datetime, date
d = date(2022, 9, 24)
print(type(d)) # ?️ <class 'datetime.date'>
today = datetime.today()
print(type(today)) # ?️ <class 'datetime.datetime'>
最常见的返回值与访问对象的 __class__ 属性相同。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。