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モジュール内の属性の出力を行っています。