我最近遇到了一些检查日期时间对象的代码,我认为它可以稍微清理一下:
# original
if (datetime1 and (datetime2 is None)):
do_things()
# slightly cleaner version
if (datetime1 and not datetime2):
do_things()
但我意识到,如果存在一个评估为 False 的有效日期时间对象,则这两个语句并不完全相等。例如:
if not '':
print('beep')
else:
print('boop')
# output: beep
if '' is None:
print('beep')
else:
print('boop')
# output: boop
在 Python 中查找有关日期时间/时间/日期对象的 bool 值的信息时,我一无所获。有谁知道 Python 是如何处理这个的?如果我使用不同的对象类型遇到类似的问题,是否有可靠的方法来检查其 bool 值是真还是假?