###
6.20.3.4 オプションの型

`optparse` は 6 種類のすばらしいオプション型: string (文字列)、int (整数)、 long (長整数)、 choice (選択項目)、 float (浮動小数点数) および complex (複素数) をサポートしています。(この中で、string、 int、 float、および choice が最もよく使われます - long と complex は主にオプション型を完全に そろえるするために存在しています。) 新たなオプションの型は、`Option` クラスをサブクラス化することで 簡単に追加できます; 6.20.5 節、 ```optparse` を拡張する'' を参照してください。

文字列オプションの引数は、チェックしたり変換したりはしません: コマンドライン上のテキストが目的変数にそのまま保存されます (または コールバックに渡されます)。

整数引数は `int()` に渡され、Python 整数に変換されます。 `int()` が失敗すると `optparse` も失敗に終わりますが、 より役に立つエラーメッセージを伴います。 内部的には、`optparse` は `optparse.check_builtin()` で `OptionValueError` を送出します; より高水準 (`OptionParser` 内) では、この例外が捕捉され、 `optparse` はエラーメッセージを伴ってプログラムを停止させます。

同様に、浮動小数点数引数は `float()` 、 長整数引数は `long()` 、複素数引数は `complex()` に渡されて変換されます。それ以外では、値は整数引数の場合と同様に 扱われます。

選択項目オプションは文字列オプションのサブタイプです。 マスタリストや選択項目のリスト (文字列) はオプションコンストラクタ (`make_option()` や `OptionParser.add_option()`) に ``choices'' キーワード引数として渡されなければなりません。 選択項目オプション引数は `optparse.check_choice()` 内でマスタリストと比較され、マスタリストにない文字列が指定された 場合には `OptionValueError` が送出されます。