###
1 Creating the parser

`optparse` を使う最初の一歩は OptionParser インスタンスを作ることです。

    parser = OptionParser(...)

OptionParser のコンストラクタの引数はどれも必須ではありませんが、いくつ ものキーワード引数がオプションとして使えます。これらはキーワード引数と して渡さなければなりません。すなわち、引数が宣言されている順番に頼っては いけません。

`usage` (デフォルト: `"%prog [options]"`)
  プログラムが間違った方法で実行されるかまたはヘルプオプションを付けて 実行された場合に表示される使用法です。`optparse` は使用法の文 字列を表示する際に `%prog` を `os.path.basename(sys.argv[0])` (または `prog` キーワード引数が指定されていればその値) に展開します。 使用法メッセージを抑制するためには特別な `optparse.SUPPRESS_USAGE` という値を指定します。
`option_list` (デフォルト: `[]`)
  パーザに追加する Option オブジェクトのリストです。`option_list` の 中のオプションは `standard_option_list` (OptionParser の サブクラスでセットされる可能性のあるクラス属性) の後に追加されますが、バージョンや ヘルプのオプションよりは前になります。 このオプションの使用は推奨されません。パーザを作成した後で、`add_option()` を使って追加してください。
`option_class` (デフォルト: optparse.Option)
  `add_option()` でパーザにオプションを追加するときに使用されるクラス。
`version` (デフォルト: `None`)
  ユーザがバージョンオプションを与えたときに表示されるバージョン文字列です。 `version` に真の値を与えると、`optparse` は自動的に 単独のオプション文字列 `"-version"` とともにバージョンオプションを 追加します。部分文字列 `"%prog"` は `usage` と同様に 展開されます。
`conflict_handler` (デフォルト: `"error"`)
  オプション文字列が衝突するようなオプションがパーザに追加されたときにどうするかを 指定します。14.3.3 節「オプション間の衝突」 を参照して下さい。
`description` (デフォルト: `None`)
  プログラムの概要を表す一段落のテキストです。`optparse` は ユーザがヘルプを要求したときにこの概要を現在のターミナルの幅に合わせて 整形し直して表示します (`usage` の後、オプションリストの前に表示されます)。
`formatter` (デフォルト: 新しい IndentedHelpFormatter)
  ヘルプテキストを表示する際に使われる optparse.HelpFormatter のインスタンスです。 `optparse` はこの目的のためにすぐ使えるクラスを二つ提供しています。 IndentedHelpFormatter と TitledHelpFormatter がそれです。
`add_help_option` (デフォルト: `True`)
  もし真ならば、`optparse` はパーザにヘルプオプションを (オプション文字列 `"-h"` と `"-help"` とともに) 追加します。
`prog`
  `usage` や `version` の中の `"%prog"` を展開するときに `os.path.basename(sys.argv[0])` の代わりに使われる文字列です。