Mark Pilgrim による Dive into Python 3 を読んでいて、この一節に当惑しました。
「最終的にあなたを噛むfind()メソッドには「落とし穴」があります。ブールコンテキストでは、ElementTree要素オブジェクトは、子を含まない場合(つまり、len(要素)が0の場合)にFalseと評価されます。これ--if element.find('...')-- は、find() メソッドが一致する要素を見つけたかどうかをテストするのではなく、一致する要素に子要素があるかどうかをテストしていることを意味します! find() メソッドが要素を返しました。 --if element.find('...') が None でない場合 -- を使用してください。" 195ページ
私が理解していないのは、「なしではない」部分がTrueと評価される可能性があるということですよね?それでは、あいまいな結果を示す場合、このコンテキストでの find() 関数の目的は何ですか?
編集: つまり、「if」ステートメントが false と評価された場合、1) find() クエリに一致する要素内に子が見つからなかった、または 2) 要素内に子が存在しないことがわかります。 ! それはどのように役立ちますか?