特別な組み込み関数 dir と help

 組み込み関数の最後にdirとhelpを説明します。特別と書いたのは、スクリプトファイルで使用するのではなく、インタプリタシェル内で使用して、プログラミングではなく、プログラムを打つ際に調べるための大変役に立つ関数です。ぜひ使い方をマスターしてください。

 組み込み関数dir

 dir([object])

 この関数はモジュールの説明の中で使い方を説明していますが、モジュールだけでなく文字列やリストや辞書などのオブジェクトに使用可能です。そのオブジェクトのアトリビュートなんかを調べるのに役に立ちます。例を見てみましょう。

 >>> s = "ABC"
 >>> dir(s)
 ['__add__', '__class__', '__contains__', '__delattr__', '__doc__',
 '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__',
 '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__',
 '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__',
 '__radd__', '__reduce__', '__reduce_ex__','__repr__', '__rmod__',
 '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__',
 '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center',
 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format',
 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'islower',
 'isnumeric', 'isspace', 'istitle', 'isunicode', 'isupper', 'join', 'ljust',
 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust',
 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith',
 'strip', 'swapcase', 'title','translate', 'upper', 'zfill']

 組み込み関数help

 help([object])

 例えば上の文字列sのメソッドの"replace"を使い方を調べたい場合はhelp関数を使って次のようにします。

 >>> help(s.replace)
 Help on built-in function replace in module __builtin__:
 
 replace(...)
 str replace(str self, object old, object new_, int maxsplit)
 
 >>> s.replace("B","F") ←クラスのメゾット定義と同じで
 'AFC'           最初の"self"は無視します。
 こんな感じで調べられます。これが後から説明する標準モジュールや.net frameworkでもサポートされています。プログラミング中にふと分からなくなったとき、すごく力強いと思いませんか。