Python 3には、オブジェクトの現在のプロパティと値をすべて表示するための組み込み関数がありますか?

PYTHON3 チュートリアル

Python 3でオブジェクトのプロパティと値を表示する方法

Pythonではオブジェクトのプロパティ(属性)とその値を調べることができます。ここでは組み込み関数を使って、オブジェクトの全プロパティとその値をどのように表示するかを学びます。

サンプルコード1: dir()関数の使用

dir()関数はオブジェクトが持つ属性のリストを返します。これを利用して、属性名と属性値を表示することができます。

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

obj = Sample("Taro", 30)
properties = dir(obj)

for prop in properties:
    if prop.startswith('__'):
        continue
    print(f"{prop} = {getattr(obj, prop)}")

このコードは、Sampleクラスのインスタンスの属性をフィルタして、特殊メソッドを除外した後、属性名とその値を表示します。

サンプルコード2: vars()関数の使用

vars()関数を使用すると、オブジェクトの__dict__属性を取得できます。これにより、属性と値の辞書を直接取得することが可能です。

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

obj = Sample("Hanako", 25)
properties = vars(obj)

for prop, value in properties.items():
    print(f"{prop} = {value}")

このコードでは、Sampleクラスのインスタンスの全属性とその値を辞書形式で取得し、それを表示しています。

サンプルコード3: getattr()関数を使った動的な属性アクセス

特定の属性に動的にアクセスする場合、getattr()関数を使用すると便利です。この関数は、オブジェクトと属性名を引数に取り、その属性の値を返します。

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

obj = Sample("Jiro", 28)
attributes = ['name', 'age']

for attr in attributes:
    print(f"{attr} = {getattr(obj, attr)}")

このコードでは、Sampleクラスのインスタンスobjから、リストattributesで指定された属性名を使って値を取得し、表示しています。

これらのサンプルコードを通じて、Pythonでオブジェクトの属性とその値を様々な方法で取得し表示する方法を学ぶことができます。これらの技術はデバッグやデータの検査に非常に役立ちます。

購読
通知
0 Comments
Inline Feedbacks
View all comments