【Python3.x】AttributeError::__dict__定数の使い方
__dict__定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
__dict__定数は、Pythonの組み込み例外クラスであるAttributeErrorが持つ属性情報を静的に保持する定数です。
この定数は、Python 3においてbuiltinカテゴリのAttributeErrorクラスに所属しています。AttributeErrorは、プログラム内で存在しないオブジェクトの属性にアクセスしようとした際に発生するエラー(例外)を表すために使用されるクラスです。
Pythonでは、クラスやオブジェクトがどのような属性(変数やメソッドなど)を持っているかの情報は、通常__dict__という特殊な辞書に格納されます。AttributeErrorクラスの文脈における__dict__が「定数」として分類されているのは、このクラス自体が一度定義されると、その内部で保持する属性のセット(例えば、エラーメッセージを構築するための内部的な仕組みなど)が基本的に固定され、変更されない性質を持つためです。
つまり、AttributeErrorというエラーがどのような要素で構成されているか、その「設計図」のような情報がこの__dict__に辞書形式で静的に格納されていると理解できます。システムエンジニアを目指す初心者の方にとっては、特定のエラークラスが内部でどのような情報を備えているかを知るための、安定した参照点であると捉えていただけると良いでしょう。通常、この定数を直接操作することはほとんどありませんが、Pythonのオブジェクトモデルやエラーハンドリングの仕組みを深く理解する上で参考となる情報です。
構文(syntax)
1print(AttributeError.__dict__)
引数(parameters)
引数なし
引数はありません
戻り値(return)
dict
AttributeErrorオブジェクトが持つ名前空間(属性名とそれに対応する値のペア)を格納した辞書を返します。