##
3.11.3 クラスと関数

`getclasstree`( | classes[, unique])

  リストで指定したクラスの継承関係から、ネストしたリストを作成します。ネ ストしたリストには、直前の要素から派生したクラスが格納されます。各要素 は長さ2のタプルで、クラスと基底クラスのタプルを格納しています。 unique が真の場合、各クラスは戻り値のリスト内に一つだけしか格納 されません。真でなければ、多重継承を利用したクラスとその派生クラスは複 数回格納される場合があります。

`getargspec`( | func)

  関数の引数名とデフォルト値を取得します。戻り値は長さ4のタプルで、次の 値を返します:`(args, varargs, varkw, defaults)`。argsは引数名のリストです（ネストしたリストが格 納される場合があります）。varargsとvarkwは`*`引数と `**`引数の名前で、引数がなければ`None`となります。 defaultsは引数のデフォルト値のタプルです。引数がない場合には None です。このタプルにn個 の要素があれば、各要素はargsの後ろからn個分の引数のデフォ ルト値となります。

`getargvalues`( | frame)

  指定したフレームに渡された引数の情報を取得します。戻り値は長さ4のタプ ルで、次の値を返します:`(args, varargs, varkw, locals)`。argsは引数名のリストです（ネストしたリストが格納 される場合があります）。varargsとvarkwは`*`引数と `**`引数の名前で、引数がなければ`None`となります。 localsは指定したフレームのローカル変数の辞書です。

`formatargspec`( | args[, varargs, varkw, defaults, argformat, varargsformat, varkwformat, defaultformat])

  `getargspec()`で取得した4つの値を読みやすく整形します。残りの 4つの引数はオプションで、名前と値を文字列に変換する整形関数を指定する 事ができます。

`formatargvalues`( | args[, varargs, varkw, locals, argformat, varargsformat, varkwformat, valueformat])

  `getargvalues()`で取得した4つの値を読みやすく整形します。残りの 4つの引数はオプションで、名前と値を文字列に変換する整形関数を指定する 事ができます。

`getmro`( | cls)

  clsクラスの基底クラス（cls自身も含む）を、メソッドの優先順 位順に並べたタプルを返します。結果のリスト内で各クラスは一度だけ格納さ れます。メソッドの優先順位はクラスの型によって異なります。非常に特殊な ユーザ定義のメタクラスを使用していない限り、clsが戻り値の先頭要 素となります。