kick the base

Houdiniと、CG技術と、日々のこと。

書評: 基礎Python

今回は「基礎Python」という書籍をご紹介します。

以前紹介した「Pythonスタートブック」の次に読む本と言ったらこれをオススメします。その次に読んでいただきたいのが「スマートPythonプログラミング」ですが、それについては又の機会に。

ちなみにこの3冊を読んでおけばPythonの実戦投入が可能になるのではないかなと思います。

話を「基礎Python」に戻しましょう。以下に本書の注目すべき点を列挙していきます。

言語仕様に沿った丁寧な解説

型におけるミュータブル・イミュータブルについての付言、rangeオブジェクト、例外処理、内包表記、lambda式... ひとつひとつをあげればキリがありませんが、基礎を学び終え、実際のPythonコード読むために必要な知識やつまづきがちなポイントについて丁寧に解説されています。

初心者向けの入門書では説明が煩雑になるため避けてしまいがちな概念も、しっかりと説明をされている点が非常に好感が持てます。

構成のうまさ

本書を読み進めていくと、「あれ?ということはこういう場合はどうなるんだろう」と思うことが定期的に出てきます。その疑問に応えるかのように、次のページ・次の章で解答が用意されています。

単純に文字を追うだけではなく、読者に疑問をもたせそれを解決する。学習のプロセスとして実に見事です。著者である大津 真氏の著作を調べてみると、膨大な書籍が見つかります。(中にはなんとDTMに関するものも!)

何者...!と思ってしまいます。

それら大量の執筆ノウハウが、本書のクオリティにつながっているのは想像に難くありません。

他言語との比較

Pythonスタートブックは完全な初心者に向けた書籍ですが、本書はもう少し先の他の言語の知識がある読者層もターゲットとしているように思われます。

他の言語との比較は、下地がある人にとっては分かりやすいものです。たとえば「多くの言語に用意されているインクリメント演算子とデクリメント演算子はPythonにはありません」と言われればそれだけでイメージができます。

Python3をターゲットに

Pythonスタートブックは2系をターゲットにした書籍ですが、本書は3系をターゲットとしています。プロジェクトによりますが、今後3系への移行は進んでいくでしょう。(3D系では本日現在Blenderが3系に対応していると思います)

Pythonの2系から3系へのバージョンアップは後方互換のないドラスティックな変更を多く含んでいたので、どのプロジェクトもスムーズな移行をしたとは言いがたいですが、整数除算の処理は感覚的であり、Unicode (utf-8) のstr文字列と2バイトクラス(byteとbytearray)の登場、列挙できない型の比較に関する挙動等々、導入を検討する価値はあるでしょう。

用途によるとは言え、現在では2系3系ともに学んでおくのがベターかと思います。

まとめ

Pythonスタートブックから基礎Pythonを読み終えれば、日々の業務にPythonを応用できるかも?と思い始めるかもしれません。それは簡単なテキスト処理でも良いですし、気の利いた計算機としてでも良いでしょう。

Pythonは大きなプロジェクトはもちろん、小さなツールを作成するのにも向いています。ぜひ日々の業務に取り入れてみてください。