はじめの前に

Python とは

Python は Guido van Rossum(グィド・ヴァン・ロッサム)が作ったプログラミング言語です。作者がモンティ・パイソンのファンだったことから Python と命名されました(Foreword for "Programming Python")。

The Zen of Python

Python に import this と打ち込むと,Python の考え方を表した19行の格言のようなものが出力されます:

The Zen of Python, by Tim Peters

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.
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.
Although that way may not be obvious at first unless you're Dutch.
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!

これは PEP 20 としても公開されています(PEP = Python Enhancement Proposals)。要は,シンプルに考えよう,ということです。

PEP 8 など

PEP といえば,Python のスタイルガイド PEP 8 -- Style Guide for Python Code(PEP 8 = ペップ・エイト)もぜひ(いずれは)読むべきものです。日本語版 もあります。インデントはスペース4個で,代入 = やほとんどの演算記号の前後にスペース1個を入れる,といったルールが書かれています(こういった基本的なルールは Python に限らず他の言語にも昔からあるものと同じです)。

このスタイルに合わせるためのツールとして,autopep8flake8black などがあります。

例えば black は pip install black でインストールできます。ターミナルに

black ファイル名

と打ち込むだけで,そのファイルを PEP 8 に合わせて書き直して(上書きして)くれます。

PEP 8 と似たものに Google Python Style Guide があります。両者の違いはニュアンスほどのものです(両者の違いをまとめた @hi-asano さんの記事 参照)が,Google のほうがより具体的なところもあります。例えば Pylint の使用を推奨しています。Pylint は pip install pylint でインストールできます。ターミナルに pylint ファイル名 と打ち込めば,ファイルにおさめた Python コードの問題点を(英語で)注意してくれます。

Python のほうが他の言語よりスタイルガイドに忠実に書かれる傾向があります。そもそも Python は正しくインデントしないと動かないようにデザインされています。PEP 8 のおかげで,C言語の K&R 流と GNU 流のように対立する流儀がありません。そのため,Python を自己流で書くと目立ってしまいます。ソースコードは人間が読むためのものでもあるので,ぜひ PEP 8 に則った書き方をしましょう。

PEP 8 にも Google Python Style Guide にもインデントは4文字分と書かれていますが,Google Colaboratory の自動インデントは2文字がデフォルトです。これを4文字にするには,[ツール]→[設定]→[エディタ]→[インデント幅(スペース)]を4に変更し,[保存]をクリックします。