2-3. 代表的な格言の解説と実例

結論
Zen of Python の19格言のうち、初心者がまず押さえるべきは以下の4つです。

  • 美は醜に勝る
  • 明示は暗黙に勝る
  • 単純さは複雑さに勝る
  • 特殊ケースもルールを破る理由にならない

美は醜に勝る(Beautiful is better than ugly.)

意味

  • コードは「動けばよい」だけでは不十分。
  • 整っていて読みやすいコードが、保守やチーム開発において強力な武器になる。

悪い例

def calc(a,b):return(a+b*2)/3

良い例

def calculate_score(base: int, bonus: int) -> float:
    """基本点とボーナスから最終スコアを計算する"""
    return (base + bonus * 2) / 3

実務での活用

  • レビューで「読みやすいかどうか?」を基準にする
  • コード整形ツール(blackなど)を使い、美しいフォーマットを自動化する

明示は暗黙に勝る(Explicit is better than implicit.)

意味

  • 曖昧さを避け、誰が見ても意図が伝わるようにする。
  • **「推測させないコード」**が重要。

悪い例

config = {"mode": 1}
if config["mode"]:
    run_fast()

良い例

config = {"mode": "fast"}
if config["mode"] == "fast":
    run_fast()

実務での活用

  • 条件分岐や引数は「何を意味するか」を明示する
  • 定数や列挙型を使って「魔法の数字」を避ける

単純さは複雑さに勝る(Simple is better than complex.)

意味

  • 余計な工夫をせず、素直に書くことがベスト。
  • 短さやトリッキーさより、シンプルさが優先。

悪い例

result = [x**2 for x in data if x%2==0 and x>10 and sum(data)>100]

良い例

def filter_and_square(data: list[int]) -> list[int]:
    if sum(data) <= 100:
        return []
    result = []
    for x in data:
        if x % 2 == 0 and x > 10:
            result.append(x ** 2)
    return result

実務での活用

  • ワンライナーより、数行に分けた方が読みやすい場面が多い
  • 「シンプルに分ける勇気」を持つ

特殊ケースもルールを破る理由にならない

(Special cases aren’t special enough to break the rules.)

意味

  • 「今回は例外だから」と規約を破ると、後々の混乱につながる。
  • 一貫性を優先することが長期的にプラスになる。

悪い例

# 他はsnake_caseだが、この関数だけCamelCaseで命名
def GetData():  
    return {"id": 1}

良い例

def get_data():
    return {"id": 1}

実務での活用

  • 「一人だけ違う書き方」を許さないことで、チーム全体の負担を減らす
  • ただし「PEP 8」自体にも例外規定があるので、理由があればコメントで明示するのがポイント

まとめ

  • Zen of Python の19格言の中でも、初心者はまず4つを意識すれば十分:
    1. 美は醜に勝る
    2. 明示は暗黙に勝る
    3. 単純さは複雑さに勝る
    4. 特殊ケースもルールを破る理由にならない
  • どれも 「読みやすさ」と「一貫性」 に直結している
  • 実務で「これでいいかな?」と迷ったら、まずはこれら4つを判断基準にしてみましょう
タイトルとURLをコピーしました