結論:
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つを意識すれば十分:
- 美は醜に勝る
- 明示は暗黙に勝る
- 単純さは複雑さに勝る
- 特殊ケースもルールを破る理由にならない
- どれも 「読みやすさ」と「一貫性」 に直結している
- 実務で「これでいいかな?」と迷ったら、まずはこれら4つを判断基準にしてみましょう