为什么 Element 的计算结果为 false?

Why does an Element evaluate to false?

我正在使用 elementtree 并且想知道为什么 Element 的计算结果为 False:

import xml.etree.ElementTree as ET

elt = ET.Element('foo')
if elt:
  print('bar')

我希望打印“bar”,因为我有一个有效的 Element,但事实并非如此。这种行为有原因吗?

空元素(就像空列表或字典或其他容器)是错误的。给它加一个child,它就是truthy

elt.append(ET.Element("bar"))
if elt:
    print("bar")

输出bar