今日も微速転進

ここではないどこかへ

書評:『逆引きPython標準ライブラリ』


スポンサーリンク

図書館にあったので借りてみました。読んだというより何が書いてあるのか眺めたという感じですが。

結論:微妙。

はっきり言っておすすめしません。3,000円出せるなら他の本が良いでしょう。

読み始めて最初のうちは役に立つと思いますが、すぐに物足りなくなると思います。

概要

逆引きPython標準ライブラリ 目的別の基本レシピ180+! (impress top gear)

逆引きPython標準ライブラリ 目的別の基本レシピ180+! (impress top gear)

あまりPythonでコードを書かない人が書いているという印象を受けた。

対象となっているPythonのバージョンは3.6.3。

対象読者は「Pythonの文法を知っている人」と記載がある。

オライリーの「入門Python3」のそれぞれの後半部分をダイジェスト化して3で割ったような本*1

標準ライブラリ限定なので必然的にNumpyやPandasの機能は紹介されていない。

購入してよかったと思うユーザーは限られると思和ざるを得ない。

説明そのものは基本的に丁寧な文章で読みやすいです。ただ、関数なりメソッドの使い方が丁寧に紹介されている箇所とそうでない箇所の差が激しいので入門書読んだだけのレベルでは混乱しかねないという印象です。

そのままサクッとコピーできるようなレシピ集ではありません。

内容について

標準ライブラリというより基本データ型に対する解説が多いので非常に中途半端な感じになっている。 全体的に駄目なポイントをいくつか。

  • 目次の「やりたいこと」のレベルが雑(粒度が細かすぎる)
  • ページレイアウト、特に各ページの見出しがいまいち(インポートするモジュール名がぱっとみてわからない)
  • 入門書に書いてあるレベルの事柄にページを使いすぎ
  • 索引がしょぼい

ページ数の配分も疑問。第1章から第3章はまともなPythonの解説書なら書いてあるレベル。

些細なことではあるけど関数とメソッドの違いは意識して欲しいと思った。

以下、各章別の疑問点。

Introduction

Pythonの文法を知っている人が対象読者と明記しているのにPythonのインストール方法を解説している。コンセプトがぶれ過ぎではないか。

  • pip freezeをインストール済みパッケージの表示コマンドとして紹介している(普通はpip list
  • 標準ライブラリを対象にしているのにpipコマンドやAnacondaの解説をしている

Atomエディタの解説は悪くない。

第1章〜第3章

まともなPythonの入門書なら書いてあるレベルの内容*2

逆引きスタイルの書籍にするからこういう初歩的な内容にページを割く必要が出てくるのではないか。

文字コードの話が出てこないのは残念。ユニコードのコードポイントと文字の変換のトピックがあるのに……。

参考:7.2. codecs --- codec レジストリと基底クラス — Python 3.6.6 ドキュメント

ついでにいうと改行コードの変換の話も無い。

新しい機能である正規表現matchオブジェクトのインデックス表記(Ruby風)の記載もない。

第4章、第5章

ファイル操作と時刻、数学関数、乱数など。入門書によっては解説がないので有益ではある。

pathlibも紹介してほしかった。

第6章

普通の入門書でネットワークがらみの機能解説はないので役に立つかも。ただし、オライリーの「[入門Python3](https://amzn.to/2ONjl6f9」には解説があったはず。

実際問題としてはこういうトピックを扱うなら標準ライブラリにこだわらずにFlaskの初歩を解説してくれたほうがありがたい。

エキスパートPythonプログラミング改訂2版

エキスパートPythonプログラミング改訂2版

第7章

タートルグラフィックスのためのモジュールの使い方を「逆引き」で知りたい状況はちょっと想像がつかない。

ここにページを割くなら第8章を充実させた方が良かったのでは。

なお、TkInterの解説はオライリーの本にも載っている。

実践 Python 3

実践 Python 3

第8章

わずか18ページ……。

ここでは、知っておくと便利なクラス、関数などをランダムに取り上げます。

流石にランダムは困るよ、ランダムは。カテゴリにとらわれないといいたいんだろうけど。

それとこの章の組版は疑問。他の章とこの章はレイアウトが違うのだから組版も変えてほしかった。 モジュールの一部の機能だけ紹介する内容なのだから、まずモジュール名なりクラス名を知りたい。そこでメソッドの名前なりクラスのコンストラクタをデカデカと強調されてもありがたくない。

argparseは解説少なすぎ。

まとめ

パラパラと眺めた結果、他の本の良さを再認識しました。

プログラム未経験で「プログラミング未経験者向けのPython入門書」を読んだだけの状態なら役に立つかも。

グーグル検索なりQiitaの記事から必要な情報を読み取れるレベルなら無駄。標準ライブラリに限定されているせいで中途半端。

やや古いけど、冒頭で紹介したオライリーPython本のほうが買ってから永く間役に立つと思う。

*1:2ではなく3

*2:購入した入門書の索引がちゃんとしていればこの本を買う必要はない

広告