Python vars() 関数

Python3 内置函数Python3 組み込み関数


vars()は Python でオブジェクトの属性を返すための__dict__組み込み関数です。

vars()オブジェクトのすべての書き込み可能な属性を含む辞書を返します。__dict__ を持たない__dict__オブジェクトに対しては、TypeError 例外が発生します。

単語の意味: vars 是 variables(变量)的缩写。


基本構文とパラメータ

構文形式

vars(object)

パラメータの説明

  • パラメータ object:
    • 型:任意のオブジェクト
    • 説明:属性を取得するオブジェクト。

関数の説明

  • 戻り値: オブジェクトの__dict__辞書を返します。
  • 注意: 引数なしの場合は次と同等です。locals()。

実例

例1:オブジェクトの属性を表示

実例

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

p = Person("Tom", 20)

# オブジェクトの __dict__ を表示
print(vars(p))
# 出力: {'name': 'Tom', 'age': 20}

# 辞書にアクセス
print(vars(p)["name"])  # 出力: Tom

実行結果の予想:

{'name': 'Tom', 'age': 20}
Tom

コードの解説:

  1. vars() はオブジェクトのインスタンス属性の辞書を返します。
  2. 辞書を介して直接属性にアクセスできます。

例2:モジュールとクラスの __dict__

実例

# モジュールの __dict__
import os
print(len(vars(os)))  # 出力: os モジュールの属性数

# クラスの __dict__(インスタンス属性は含まない)
class MyClass:
    class_attr = 100
    def __init__(self):
        self.instance_attr = 200

print(vars(MyClass))
# 出力: {'__module__': '__main__', 'class_attr': 100, '__init__': ...}

実行結果:

vars() はオブジェクトの構造を理解するのに役立ちます。

vars()デバッグや動的な属性アクセスによく使用されます。


Python3 内置函数Python3 組み込み関数


その他の拡張