###
7 引数の解析

OptionParser を作成してオプションを追加していく上で大事なポイントは、 `parse_args()` メソッドの呼び出しです。

    (options, args) = parser.parse_args(args=None, options=None)

ここで入力パラメータは

`args`
  処理する引数のリスト (デフォルト: `sys.argv[1:]`)
`options`
  オプション引数を格納するオブジェクト (デフォルト: 新しい optparse.Values のインスタンス)

であり、戻り値は

`options`
  `options` に渡されたものと同じオブジェクト、または `optparse` によって生成された optparse.Values インスタンス
`args`
  全てのオプションの処理が終わった後で残った位置引数

です。

一番普通の使い方は一切キーワード引数を使わないというものです。 `options` を指定した場合、それは繰り返される `setattr()` の呼び出し (大雑把に言うと保存される各オプション引数につき一回ずつ) で更新されていき、`parse_args()` で返されます。

`parse_args()` が引数リストでエラーに遭遇した場合、 OptionParser の `error()` メソッドを適切なエンドユーザ向けの エラーメッセージとともに呼び出します。この呼び出しにより、最終的に終了ステータス 2 (伝統的な Unix におけるコマンドラインエラーの終了ステータス) でプロセスを終了させることになります。