日頃の行い

個人的な日頃の行いをつらつら書いてます\\\\ ٩( 'ω' )و ////

献本頂いたのでPythonライブラリ厳選レシピを読んでみた。

Pythonライブラリ厳選レシピの献本頂いたので、読んでみました。gihyo.jp
ちょうどPyConJP2015が終わってPython触ろうかなと思った時期に届きました。
タイミングバッチリでした。

内容

本のはじめに書いてありましたが、Python3.4向けで、動作環境は3.4.3とのこと。
コラムなどで比較のためにPython2.7との比較など出てきますが、まず基本的に3.4の話でした。
構成は下記のような感じです。

第1章 テキストの処理
第2章 数値の処理
第3章 日付と時刻の処理
第4章 データ型とアルゴリズム
第5章 汎用OS・ランタイムサービス
第6章 ファイルとディレクトリへのアクセス
第7章 データ圧縮とアーカイブ
第8章 特定のデータフォーマットを扱う
第9章 インターネット上のデータを扱う
第10章 HTML/XMLを扱う
第11章 テストとデバッグ
第12章 暗号関連
第13章 並列処理

一部テストとデバッグなどの章ではファイルに保存したものをコマンドで実行して動かしていくスタイルもありましたが、全体的にインタラクティブシェルでコードを動かしていくスタイルでした。
インタラクティブシェルの部分ではjupyter notebook使ったりすると便利そうですね。

jupyter.org

オススメな人

個人的には「他の言語は触ったことあるけど、Pythonはまだないから触ってみようかなという人」にオススメです。
簡単なスクリプトをいい感じにPythonで書けるようになれるのではないかと思います。

「他の言語は触ったことあるけど」とついたのは、書籍内にPythonのインストールや簡単な文法は特にないため、全く一度たりともプログラミングを触ったことない!という人はちょっとだけ頑張る必要があると思ったためです。
(文法に関しては写経すれば動くため大丈夫なので主にインストールですかね。)

なんでオススメ?

内容としては(定番&便利な)ライブラリの厳選レシピということもあって、比較的よく行いたくなる処理に利用されるライブラリの紹介が多かったです。
なので、まずこの本を通してPythonに慣れ、複数の章の内容を組み合わせてPythonで色々とやってみると良さそうだと感じたからです。

ただ、最初っからドキュメント見ればできるじゃんそれって人はあまり対象じゃないと思っていて、そういう意味でPythonそんな深く触ったこと無いんだけどやってみようかなって思っている人が簡単なスクリプトをテーマにまず学んでみるという目的にとても良い本だと思いました。

感想

普段PHP, JavaScript, ScalaばかりでPython正直全然触ってなくて、ふつうに読んでて面白かったです。
個人的に興味が湧いた章は下記あたり。

  • 「第8章 特定のデータフォーマットを扱う」
  • 「第9章 インターネット上のデータを扱う」
  • 「第10章 HTML/XMLを扱う」
  • 「第11章 テストとデバッグ

8 ~10章あたりに慣れるとデータを集めるときにPythonで大体出来て困らなくなると思うので、ここらへんまとまってるのいいなぁと思いました。
昔学生の時に、Webスクレイピングでデータ取ってきて加工したり、大きなCSVExcelファイルを加工した時のつらさ思い出が蘇り、その時にここらへんで慣れていたらPythonで全部やったんじゃないかなって思ってます。

11章ではdoctest (11.2 対話的実行例をテストする)やデバッグ方法があるのいいなぁと思いました。
ドキュメントにテスト書けるんだ!テストは仕様書って感じで(・∀・)イイ!!みたいな。
また、デバッグ方法がわかればエラーが出てもググることができるので、何らかの言語を学ぶときはまずデバッグ方法を知ると良いのではと思ってます。

コラム内容も、似たメソッド名の挙動または実装の違いの話や、2.7の頃はどのライブラリを利用するかを意識する必要があったが3からそれがなくなったといういい話があり興味深いものが多かったです。
こういった話は言語特有の話が知れてすごく面白いですよね。

最後に

献本してくれたamacbee (@a_macbee) | Twitterありがとうございます!!11
はじめに書いたPython触ろうかなと思った時期というのは本当なので、調度良い時期に献本いただけてよかったです。