vars() Python 組み込み関数

組み込み関数 vars()

vars()
オブジェクトの dict属性 を辞書型で返します。引数を指定しないことで locals関数 と同じようにローカル領域の属性を取得できます。
モジュール、クラス、インスタンス、または、それ以外のdict属性を持つオブジェクトの、dict属性を返します。
モジュールやインスタンスのようなオブジェクトは、更新可能なdict属性を持っています。

ただし、それ以外のオブジェクトでは、dict属性への書き込みが制限されている場合があります。
書き込みに制限がある例としては、辞書を直接更新されることを防ぐために、types.MappingProxyTypeを使っているクラスがあります。

使用例

class Object:
    a = 1
    def __init__(self):
        self.b = 2
        self._c = 3
        self.__d = 4
        e = 5

    def f(self):
        pass

    @property
    def d(self):
        return self.__d
    
    @d.setter
    def d(self, other):
        self.__d = other

obj = Object()
print(vars(obj))
# 実行結果 {'b': 2, '_c': 3, '_Object__d': 4}
よかったらシェアしてください!
目次