条件分岐と例外処理
Pythonは条件分岐は
if 条件式1: 条件式1が満たされる場合の実行式 elif 条件式2: 条件式2が満たされる場合の実行式 elif 条件式3: 条件式3が満たされる場合の実行式 else 上記の条件式のどれも満たさない場合の実行式
という感じ。ExcelのようにIF(IF(...とifの入れ子構造を作らなくてもいいので単純にできそう。
例外処理というのは簡単に言うとエラーを吐いた場合に、エラーはエラーとしてプログラムを続けたい場合の処理方法。
#!/usr/bin/env python import sys for fn in sys.argv[1]: try: f = open(fn) except FileNotFoundError: print("そんなファイルねえよボケ") else: try: print("ファイルサイズは",len(f.read())) finally: f.close()
tryの後にエラーを吐く可能性が高い実行式を入れ、exceptの後に例外クラス名を書き込む。例外クラス名とは要するに公式なエラーコードのようなもの。elseの後にエラーが発生しななかった場合の実行式を書く。最後のfinallyの後はエラーが発生しようがしまいが実行する式を書く。
例外処理に使えるものとしては他にはWith分が存在する。
with open(fn) as f: print("ファイルサイズは",len(f.read()))
with文の場合はエラーが出た場合はwith文の中には入らず、エラーがでなかったばあいはwith文の中の式が実行される。for exceptよりも場合によっては簡潔に書ける。