1. TOP
  2. プログラム
  3. ソフト
  4. python
  5. Python-The Zen of Python-4

Python-The Zen of Python-4

2019-03-29_130158_RM3

9:Although practicality beats purity.

◎しかし、実用性を求めると純粋さが失われることがある。

Pythonにはcharのような"文字専用"の型は無い。専用の型が必要なほど
特殊ではないからだ。だが、実用性を追求すると、chrやordといった長さ1
の文字を引数に取る、または返す関数が必要になる。

10:Errors should never pass silently.

◎エラーは隠すな、無視するな。

たとえば、こんなコードを書いてはいけない。

        try:
            import this
        except ImportError:
            pass
    


エラーが検出されたことを明示すること。
        try:
            import this
        except ImportError:
            print('this is not available')
    


11:Unless explicitly silenced.

◎ただし、わざと隠されているのなら見逃せ。

このコードを見てみよう。

        d = dict((('spam', 1), ('ham', 2)))
        
        default = 0
        k = 'eggs'
        
        try:
            v = d[k]
        except KeyError:
            v = d[k] = default
        
        print("v:{}".format(v))
        print("d:{}".format(d))
    


実行するとこうなる。
        $python silenced.py 
        v:0
        d:{'eggs': 0, 'ham': 2, 'spam': 1}
    


このコードでは、keyが存在しなかったときにそのキーにdefaultの値
を設定するようになっている。except節ではエラーが起きたことを外部
に知らせていない。わざとそうしているからだ。