【The Zen of Python】和訳(Pythonプログラマが持つべき心構え)

2 min読了の目安(約1900字TECH技術記事

The Zen of Python

「The Zen of Python」はPythonプログラマが持つべき心構えをまとめたものです。
参照:https://www.python.org/dev/peps/pep-0020/

Pythonの対話モードで import this と入力すると表示される

「Zen」 は日本語の 「禅」 に由来、Pythonにおける思想や教えをティム・ピータースがまとめたもの。

和訳してみる

和訳と自分なりの解釈。

Beautiful is better than ugly.

醜いより美しいほうがいい。
→美しいコードを書いてね

Explicit is better than implicit.

明示的は暗黙的よりも優れています。
→いま使っているオブジェクトが「なにか」「どこにあるか」を意識する。

Simple is better than complex.Complex is better than complicated.

複雑よりも単純な方が優れています。 難解になるなら複雑でも仕方ないかな。

→単純なのは複雑なのよりもよい。しかし、単純にしようとして理解しにくくなるなら、複雑にしたほうがよい。

Flat is better than nested.

フラットはネストよりも優れています。
→なるべく入れ子構造にしない。

Sparse is better than dense.

密より疎が良い
→ぎっしり、みっちり書かない。コードは読みやすく書く。

Readability counts.

読みやすさが重要。
→pythonは読みやすいよね。

Special cases aren't special enough to break the rules.

特殊なケースでもルールは破らないように。
→ルールはまもろう

Although practicality beats purity.

実用性は純粋さを打ち負かす。
→最終的には実用性で判断されるべき

Errors should never pass silently.Unless explicitly silenced.

エラーは黙って無視しないでね。でも、わざとなら見逃してね
→発生したエラーは隠さない。エラーの発生を抑止できるような場合でも、エラーを検出するようにして、明示的な指定があった場合のみ抑止する。

In the face of ambiguity, refuse the temptation to guess.

曖昧さに直面しても、推測に逃げないで!
→「なんだこれ、訳わからん」から目を逸らさないように!!「まあいっか」としないように。

There should be one-- and preferably only one --obvious way to do it.

きっと1つだけ、みんなが納得するような明白な方法があるはず
→同じ処理であれば、みんな似たような記述をするはず?

Although that way may not be obvious at first unless you're Dutch.

あなたがオランダ人でない限り、その方法は最初は明らかではないかもしれません。
※ Pythonの開発者 Guido van Rossum さんはオランダ人
→よい書き方はひとによって違うよね

Now is better than never.

ずっとやらないより今!
→困難でもやってみよう

Although never is often better than right now.

今のところより良いことは決してありません
→挑戦しないと「今」より良くなることは決してない

If the implementation is hard to explain, it's a bad idea.

コードの内容の説明が難しいのならそれは良いといえない
→実装できても、ユーザーにとっても良いものといえない?

If the implementation is easy to explain, it may be a good idea.

コードの内容の説明が簡単な場合は、アイディアが良いのかも。
→ユーザーにとっても明快で利用しやすいサービスかも

Namespaces are one honking great idea -- let's do more of those!

名前空間は素晴らしいアイデアの1つです。もっと多くのことをしましょう!