Groovy には非常に便利な operator があり?.ます。これは、オブジェクトがそうでないかどうかをチェックnullし、そうでない場合は、メソッドまたはプロパティにアクセスします。Pythonで同じことを行うことはできますか?
私が見つけた最も近いものは、三項条件演算子です。今、私はやっています
l = u.find('loc')
l = l.string if l else None
一方、書くのはいいでしょう
l = u.find('loc')?.string
更新:getattr以下に記載されていることに加えて、リストでそれを行う比較的良い方法を見つけました:
[x.string if x else None for x in [u.find('loc'), u.find('priority'), ...]]
除外する場合の別の方法None:
[x.string for x in [u.find('loc'), u.find('priority'), ...] if x]