>>712
実行はしてないけど、見た感じだけレビュー

Pythonでのmain関数。(rubyでいう if $0 == __FILE__)
http://www.artima.com/weblogs/viewpost.jsp?thread=4829

def main(*argv):
nbsp;nbsp;# do something
nbsp;nbsp;return 0
def __name__ == '__main__':
nbsp;nbsp;sys.exit(main(*sys.argv))
モジュールの末尾に書いておくと、単体で呼ばれた時のみmainを実行される。
モジュールとして他のファイルからimportされた時にはmainは呼ばれない。

to_str -> __str__ str(obj) で __str__ が呼ばれる。
printなどで表示する時の為にも、__repr__ も実装しておくと良い。
rubyのinspect相当,オブジェクトのシリアライズにも使われるが、printデバッグ時にも使える。

set, type, int, str, list, dict, tuple, file, object などはビルトイン型の名前と重なるので、避けた方がいい。

TABとSpaceの混在 -> _match メソッド内
python -t や -tt オプション付きで実行すると確認できます。

import * でインポートする関数/クラスは __all__ で指定できるので、
モジュール内で使うローカルクラスの名前のprefixは、はずすこともできる。