Python の dir() 関数

dir(obj) 関数は Python のビルトイン関数です。何もモジュールをインポートすることなく使うことができます。

dir(obj) 関数は、引数に渡した obj オブジェクトの全ての属性 (メソッドやプロパティ) を返します。

class Person:
    age = 20
    name = 'John Doe'


for attr in dir(Person()):
    if attr.startswith('__'): # __ 始まりはスキップ
        continue
    print(attr)
実行結果
age
name

上のコードでは 1-3行目で Person クラスが定義されており、そこで name と age という属性が作成されています。

6行目で dir( Person() ) として、Person オブジェクトを渡しています。

for 文を使って dir 関数が返すリストの要素それぞれについて、繰り返し処理をしています。ここでは print() 関数でリストの要素を出力しています。

Python では __ で始まって終わる形式の名前は特別な用途に使われています。ここではユーザー定義の属性値を表示するために __ 始まりの値を表示しないようにしました。

引数を省略した時は、現在のローカルスコープの名前のリストを返します。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門