モジュールの属性取得 (dir) | Python-izm

モジュールの属性取得

Pythonではモジュール内で定義されている関数属性などの一覧を取得する事が出来ます。ちょっとしたデバッグにも使えますので覚えておくと便利です。

dir

dir関数を使用します。引数なしの場合は自分自身の属性を、引数にモジュールを渡した時にはそのモジュール内で定義されている属性を取得します。

print('----------------------------------')
print(dir())

python_dir = 'python-izm'

print('----------------------------------')
print(dir())

print('----------------------------------')
import sys
for one in dir(sys):
    print(one)

※実行環境によって出力内容が異なる場合があります。

----------------------------------
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
----------------------------------
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'python_dir']
----------------------------------
__displayhook__
__doc__
__excepthook__
__interactivehook__
__loader__
__name__
__package__
__spec__
__stderr__
__stdin__
__stdout__
_clear_type_cache
_current_frames
_debugmallocstats
_enablelegacywindowsfsencoding
_getframe
_git
_home
_xoptions
api_version
argv
base_exec_prefix
… 以下略 …

2回目のdir関数呼び出し時には、直前に定義した属性python_dirが追加されているのがわかります。最後にsysモジュール内の属性の出力を行っています。