最近、約10年前に自分が雑誌に書いたPythonのサンプルコードを別の媒体に流用する作業をしていたときのことだ。コードに少し違和感を覚えた。

 そのコードでは「a=1」といったように、「=」の前後を詰めて書いていた。これが違和感の原因だった。通常は「a = 1」と半角スペースで間を空けて記述することが多い。代入演算子の「=」や算術演算子の「+」「-」などの前後に半角スペースを入れる。

 そのサンプルコードで間を詰めていた理由は分かっていた。初心者向けの記事だったからだ。「a=1」を何の説明もなく「a = 1」と書くと、半角スペースに何か特別な意味があるのではないかと初心者が混乱する可能性があると考えたのだ。

 実際には「a=1」と「a = 1」とで意味や動作に全く違いはない。後者は読みやすさのために間を空けているだけだ。コードの実行時には半角スペースは無視される。

 とはいえ、このコードを流用するときに、やはり間が詰まっていることが気になった。そこで、「読みやすさのため演算子の前後に半角スペースを入れることが多い」という説明を加えたうえで、詰まっている部分に半角スペースを入れた。

 ここであることに気付いた。流用しているのはPythonで書かれたコードだ。ということは、もしかして半角スペースを入れることは「PEP 8」で決まっているのではないか。

Pythonの基本的な考え方を示す文書も

 PEP 8という用語を聞いたことがない人がいるかもしれない。PEP(ペップと読む)はPython Enhancement Proposal(Python拡張提案)の略。Pythonを改善するための公式提案文書である。

 Pythonコミュニティーでは、新機能の提案や標準ライブラリーの改善などの際に、内容をPEPの形式でまとめて議論する。これにより改善が行われた理由を確認できる。却下された場合もPEPは残るので、似たような改善を行いたい場合の参考になる。インターネット標準でいえばRFC(Request for Comments)、JavaでいえばJEP(JDK Enhancement Proposal)に相当する。

次のページ

精神的なルールと実務的なルール

この記事は会員登録で続きをご覧いただけます