我正在阅读 Mark Pilgrim 的 Dive into Python 3,这段话让我感到困惑:
“find() 方法有一个“陷阱”,最终会咬你。在布尔上下文中,如果 ElementTree 元素对象不包含子对象(即,如果 len(element) 为 0),则它们将评估为 False。这表示 --if element.find('...')-- 不是测试 find() 方法是否找到匹配元素;它是测试匹配元素是否有任何子元素!测试 find() 方法是否返回一个元素,使用--if element.find('...') is not None--." 第 195 页
我不明白的是,“不是无”部分可能评估为真,对吧?那么 find() 函数在这种情况下的目的是什么,如果它显示出模棱两可的结果呢?
编辑:我的意思是,如果“if”语句的计算结果为 false,那么它会告诉我 1)它没有在与 find() 查询匹配的元素中找到子元素,或者 2)元素中没有子元素!这有什么帮助?