python - python date/time/datetime 对象可以有一个 bool 值

我最近遇到了一些检查日期时间对象的代码,我认为它可以稍微清理一下:

# 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 值是真还是假?

相关文章:

node.js - 无法替换到目录/var/lib/docker/overlay2/if2ip5ok

r - 在行内的顺序中调整很少的频率来计算频率

javascript - 我怎样才能从传递给 `String.prototype.replace`

Typescript - 基础接口(interface)和扩展接口(interface)的联合类型

javascript - 将两个多维数组映射到一个对象中

rust - 使用 std::fs::write 将 Vec 写入文件

c - 可变参数在多次转发时如何在堆栈上表示?

perl - 如何为每个 XML 输出添加换行符?

r - 从向量中提取多个子串模式

c# - 比较两个列表 - 检查一个列表是否包含第二个值