1. ホーム
  2. python

[解決済み] Pythonの属性をチェックするためのget()のようなメソッド

2023-04-29 11:09:22

質問

もし私が辞書を持っていたら dict をチェックし dict['key'] をチェックするためには try ブロックに入れるか (ブッブー!) get() メソッドで False をデフォルト値として使用します。

に対して同じことをしたい。 object.attribute . つまり、私はすでに False を返すオブジェクトがあるのですが、そうすると、次のようなエラーが発生します。

AttributeError: 'bool' オブジェクトには 'attribute' という属性がありません。

どのように解決するのですか?

より直接的な類似品として dict.get(key, default) よりも hasattrgetattr .

val = getattr(obj, 'attr_to_check', default_value)

(ここで default_value はオプションで、見つからない場合は属性がないとして例外を発生させます)。

この例では False .