情報処理技術者試験解説チャンネル

応用情報技術者試験をはじめとする情報処理技術者試験の午後問題では、「過去10年分を確実に理解しているか」が合格ラインを左右するといわれています。当チャンネルでは、その10年分の午後問題を要点だけに絞り、約10分のコンパクトな解説としてまとめました。限られた時間でも効率よく学習を進められる構成です。

Python: `dir()` - オブジェクトの属性とメソッドのリストアップ

                    ****

Pythonにおいて、dir()関数はあるオブジェクトが持つ属性やメソッドをリストアップする組み込み関数です。この記事では、dir()関数の基本的な使い方から具体的な例を交えながら、オブジェクトの属性とメソッドを探索する手段としての利用方法について解説します。

dir() 関数の基本的な構文

dir()関数は以下のような基本的な構文を持っています。

dir([object])
  • object: 属性とメソッドをリストアップする対象のオブジェクト。省略すると、現在のスコープで定義されている名前のリストが返されます。

dir() の使用例

1. モジュールの属性とメソッドのリストアップ

dir()関数を使ってモジュールの属性とメソッドをリストアップする例です。

import math

# mathモジュールの属性とメソッドをリストアップ
math_attributes = dir(math)
print(math_attributes)

2. クラスの属性とメソッドのリストアップ

dir()関数を使ってクラスの属性とメソッドをリストアップする例です。

class ExampleClass:
    def __init__(self):
        self.attribute1 = 42

    def method1(self):
        return "Hello, World!"

# ExampleClassの属性とメソッドをリストアップ
example_instance = ExampleClass()
example_attributes = dir(example_instance)
print(example_attributes)

3. オブジェクトの属性とメソッドのリストアップ

dir()関数を使ってオブジェクトの属性とメソッドをリストアップする例です。

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

    def greet(self):
        return f"Hello, my name is {self.name}."

# Personオブジェクトの属性とメソッドをリストアップ
person_instance = Person("Alice", 30)
person_attributes = dir(person_instance)
print(person_attributes)

注意点とまとめ

  • dir()関数は、与えられたオブジェクトが持つ属性やメソッドのリストを返します。
  • モジュール、クラス、オブジェクトなど、さまざまなオブジェクトに対して使用できます。
  • dir()関数を用いることで、特定のオブジェクトがどのような属性やメソッドを持っているかを探索する手段として利用できます。

これで、dir()関数の基本的な使い方について理解できたかと思います。この関数はデバッグやプログラムの理解に役立つツールの一つです。何か質問があればお気軽にどうぞ!