KeyError
test = {}
print test['a']
このサンプルを実行すると
KeyError: 'pagename'
の例外が発生します。コレを回避するためには、事前にin
, has_key
などを用いてキーが存在するか否かをチェックする必要があります。
test = {}
if 'a' in test:
print test['a']
else:
print ''
このようなコードになるのですが、上記のような場合はget
という便利なメソッドが用意されているようです。
get(key[, default])
Documentsより引用
もし key が辞書にあれば、 key に対する値を返します。そうでなければ、default を返します。 default が与えられなかった場合、デフォルトでは None となります。そのため、このメソッドは KeyError を送出することはありません。
第二引数を指定すればデフォルト値も指定できるようです。
getを用いて上記コードを書き換えてみます
test = {}
print test.get('a')
とてもシンプルになりました。