if hasattr(some_object, "some_property") and
hasattr(some_object.some_property, "some_other_property") and
hasattr(some_object.some_property.some_other_property, "some_final_property"):
本当に臭い。これを行うためのより良い方法はありますか?
アクセスして例外をキャッチしようとしていますか?
ありがとうございました。
要するに、はい。ネストされたプロパティを取得して、例外をキャッチしてみてください。
try:
prop = some_obj.some_property.some_other_property.some_final_property
except AttributeError:
# handle exception
else:
do_something_with(prop)
オブジェクトが辞書の場合、toolz
パッケージのようなget_in()
便利なヘルパーがいくつかあります。
prop = get_in(['some_property', 'some_other_property', 'some_final_property'], some_obj)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加