Dive-Into-Python-3 読了

あれ?0一個足らないのでは?と思ったのですがAmazonで99円で売ってます。
そして、十分その価値はありました。

Dive Into Python 3 日本語版

Dive Into Python 3 日本語版

 
安い理由は、Dive Into Python 3 日本語版 で読めちゃうからなんですが、ネット繋がらない環境で
読みたかったので購入しました。私自身は普段Python書くことはなく、他の書籍を読んだことがあるぐらいなのですが
pythonの評判も良いですし、日本での利用も少しずつ普及している印象なので今回読んでみました。
 

感想

全体を通して非常に丁寧です。
言語仕様をさらっと確認したいだけなら、他の書籍の方が良い気がします。
 
前半は、言語仕様について記載され、unit test(テスト対象がローマ数字なので、テスト書くのが大変でした。違うテーマの方が良い気がします。)、
2to3(python3への変換ツール)、パッケージの作り方と一通り揃っている感じがしました。
 
「4. 文字列」でunicodeについて言及していて、プログラムの書籍でここまで詳しく書いてあるのは 珍しい気がします。そして内容も良いです。
UTF-32UTF-16、BOM(エンディアン)、UTF-8の説明が(闇の部分は深入りせずに)ちゃんとされています。
Pythonで文字列を扱うというだけでは不要なはずなんですが、なんだかこだわっています。
エンジニアとしては知っておかないといけない話なので
こういうちゃんとした説明があるというのは素晴らしいなと感じました。
他の章でも出てくるのですが、著者が chardet という文字コード判定ライブラリの作者でもあるからでしょう。
 
「14. HTTPウェブサービス」も非常に丁寧でした。
response header、request header を逐一説明してくれます。Last-Modified、ETagの説明までしっかりあります。
この辺りも知っておかないといけない話なので、初心者にはありがたいかも。
(ただし、sampleのURLはリンク切れ(そもそもちゃんと公開されていない可能性あり))
 

目次

-1. “Dive Into Python 3” で新しくなったこと
0. Pythonをインストールする
1. 初めてのPythonプログラム
2. ネイティブデータ型
3. 内包表記
4. 文字列
5. 正規表現
6. クロージャとジェネレータ
7. クラスとイテレータ
8. 高度なイテレータ
9. ユニットテスト
10. リファクタリング
11. ファイル
12. XML
13. Pythonオブジェクトをシリアライズする
14. HTTPウェブサービス
15. ケーススタディ: chardetをPython 3に移植する
A. Pythonライブラリをパッケージ化する
B. 2to3を使ってコードをPython 3に移植する
C. 特殊メソッド名
D. ここからどこへ進むか
E. トラブルシューティング

少し残念なこと

MacKindleアプリか、Kindle版に対することですが MacKindleアプリでは、コピペできないのが少々辛かったです。
まぁWeb版見ればokなんですが。
あと、折角電子書籍買ったのに、検索がヒットしないです。これはとても残念なので改善を期待したいです。
 
最後に一つKindleの良いところを書くと、(当たり前ですが)メモできるのは最高なので電子書籍で購入したこと自体は後悔していません。