入門書の次に何をプラスすればプロのプログラマーに近づけるのかを的確に教えてくれるが、本書「きれいなPythonプログラミング クリーンなコードを書くための最適な方法」です。

著者のAl Sweigartさんが「退屈なことはPythonにやらせよう」に続けて世に送り出したのが本書です。前著は本サイトでもご紹介しましたが、現在のPython自動化ブームの火付け役とも言える本であり、当サイトの自動化の記事をはじめるきっかけにもなりました。

前著などでPythonの魅力に惹かれ、自分でコードを書きはじめても、本当にこの書き方で良いのだろうかと心配になることは誰しもよく経験します。

そんな時に本書が助けとなります。

まだ良いコードが何なのか分からない時期に、自分で本やネットで調べることは非常に根気が必要ですが、本書があれば効率よくポイントを知ることができます。

今回は、本書を読むことで得られるメリットを3つにまとめてみました。ぜひ参考にしてください。

1. 良いコードの書き方がわかる

変数名の付け方(4章)やコメントの書き方(11章)から、関数(10章)とクラス(15〜17章)の良いコードまでPythonでプログラミングしていると遭遇する疑問について幅広く答えてくれます。

特にクラスの考え方は、とても勉強になります。例えば、継承を用いてクラスを設計するときに、つい「乗り物」←「自動車」のように現実世界での階層に基づこうとしますが、継承の一番の目的はコードの再利用であると明言してくれています(p.312)。そう考えれば、継承よりも属性として他のオブジェクトを持たせた方が保守性も高くなり良いコードになります(pp.316-317)。

また、よくある落とし穴(8章)や要注意コード(9章)では、よくやってしまう間違いや予想外の結果になるコードがまとめられています。頻繁に遭遇するコードばかりではありませんが、バグの原因になりうるので理解しておく必要があります。

2. Pythonならではの書き方がわかる

Pythonならではのシンプルで読みやすい書き方を「パイソニック(Pythonic)」と呼びます。

本書では「パイソニックでないコードの例」と比較しながら、パイソニックな書き方をわかりやすくまとめています(6章)。ループ処理などのPythonらしくすっきり書ける方法だけでなく、switch文や三項演算子に相当するコードをPythonでどう書けばよいのかまで説明してくれています。

また、Pythonのガイドラインである「The Zen of Python」について、とても詳しく解釈してくれています(pp.92-95)。一読しておくだけでも、Pythonらしさがより理解できる説明です。

他のプログラミング言語と比べて独特な部分についても説明されているので、Python以外のプログラミングの経験がある場合でも読みやすくなっています。特に「インデント」についての記述はなかなか興味深いです(pp.95-96)。

3. プログラムの開発方法がわかる

上記のようなコードの書き方だけでなく、エラーメッセージの読み方やリンターの活用法(1章)、コードフォーマット(3章)、型ヒント(11章)、Git(12章)といった開発方法やツールの使い方も知ることができます。

特にプロジェクトのフォルダーの作り方(pp.210-213)は、cookiecutterモジュール を用いた方法まで説明されていて実践的な内容になっています。フォルダーの構成はプログラミングをはじめた頃に悩むところですが、詳しく説明している本はあまり見かけないので、重宝すると思います。

さらには、コマンドラインの使い方(2章)まで一通り説明してくれています。プログラミングでは何かと使うので助かります。

最後に -読んでいて楽しい!-

本書をとても読みやすくしている要因の一つが、著者のユーモアのセンスです。読んでいて思わずクスッとする箇所が随所にあり、本当に楽しく読めます。例えば、文字を間引いた変数名はやめましょうというコラムのタイトルが「DN’T DRP LTTRS FRM Y R SRC CD」であったり…

また、パフォーマンスの測定についても、50ページ以上に渡り書かれています(13章)。特に「オーダー記法」については、専門書ではなかなか理解するのが難しいですが、コンピューターサイエンスに造詣の深い著者ならではわかりやすく説明されています。

おそらく目次を見ただけでも「これが知りたかった!」と思う項目が随所にあるはずです。そこを読むだけでも、すぐに役立つと思います。おすすめのPython本です!