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

Python-The Zen of Python-2

2019-03-29_130013_RM3

3:Simple is better than complex.

◎複雑であるよりは平易であるほうがいい。

4:Complex is better than complicated.

◎それでも、込み入っているよりは複雑であるほうがまし。

込み入っている、すなわち難解であることと、複雑なことは少し違う。
例としてこんなコードを挙げてみよう。

        counter = 0
        while counter < 5:
               print(counter)
               counter += 1
    
このコードはすごく簡単に理解できるはずだ。だが、このコードは難解だ。
「counter変数の管理」と「print文による値の表示」という2つの要素
が1つのコードの中でごちゃまぜになっている。
        for i in xrange(5):
           print(i)
    
一方でこのコードはwihleを使った例よりも複雑、というより、複合的だ。
「counter変数の管理」と「print文による値の表示」という2つの要素が
明確に分離されている。
きれいなコードを書くためなら、xrangeが何なのかを調べるコストはそど
大きくない。xrangeの動作はドキュメントに目を通せばすぐに理解でき。
コードが大きくなればなるほど、難解なコードと複合的なコードの管理
のしやすさの差は大きくなっていく。当然、簡潔で書きやすいほうが管理が
しやすい。

5:Flat is better than nested.

◎ネストは浅いほうがいい

例えば、JavaやC++のライブラリが提供するクラスはたいてい他のクラスを
を継承している.こうなると、自分が使いたいクラスが他のクラスをどう
継承しているか考えなければならないよって、ライブラリの仕様をきちんと
理解して使うのが難しくなる。
だが、Pythonなら標準モジュールを使うときにcom.company.java.blah.blah
なんて書く必要はない。はtimeitだとかcsvで済むはずだ。
これは名前空間がフラットに構築されているからできることなのだ。