実践Python[Python][アサマシ]

このエントリーをはてなブックマークに追加


2007-04-15




プログラム初心者向けではないと割り切っちゃってるので、楽に読めてとっても Goood :-)

初めての Pythonはあまりに網羅的で、リファレンス的に読むにはよいんですが、他の言語で、プログラミング経験がある人が読み切るのは、なかなか辛かったりしますからね。ちなみにこの本は、わからない言葉があってもガシガシ読み進めるのが吉。タプルとか、なんの説明もなしに出て来ても(P101 「タプルのリストが生成されます」とか)気にしない。後ろの方で説明が出て来ます。

ただ、誤植、サンプルコードのミスが多過ぎる気が……まぁ初版本ではこんなもんですかね。この点がおしいなぁ……
正誤表は

http://www.trirhino.com/books/ppyerrata

で公開されていますが、これ以外にも

P.215 サンプルコード 13-4-2-2

print b ミ c




print b - c


の誤り

P.218 サンプルコード 13-4-5-1

>>> len(c)
10


は、

>>> len(c)
5


の誤り

P.219 サンプルコード 13-4-6-1

    return self.end ミ self.start + 1


は、

    return self.end - self.start + 1


の誤り。

P.248 サンプルコード 16-1-4-2

>>> with open(test.txt','r') as f:




>>> with open('test.txt','r') as f:


の誤り

P.249 サンプルコード 16-1-5-1

>>> f.tell() # 現在位置は 6バイト目
4L




>>> f.tell() # 現在位置は 4バイト目
4L


の誤り

などがあります。もっとあった気もするけど、メモし始めたのが、途中からだったので忘れた。連絡しようと思ったんですが、誤植の連絡先とかが書いてないようなので、とりあえず放置で(^_^;

あとサンプルとして気になったのは、

P.80 サンプルコード 6-4-8-4

>>> `200`
200


repr関数は `` でも代用できるよ、という説明なんだから、小数を含むサンプルコードにして欲しかった(小数を含まない場合でも動作的には大丈夫なんだよ、ということを示したかったのかもしれないけど……まぁ私の気にしすぎかも)

P.156 サンプルコード 10-1-3-1



>>> (a is c) == (id(a) == id(c))
True


という箇所。flase == false なので True なんですが、aと c は値は同じだけど、オブジェクトとしては別物ですよ、ということを示すサンプルなだけに紛らわしい……その直前には、a と b はオブジェクトして同一です!というのを示すのに

>>> (a is b) == (id(a) == id(b))
True


としてるから、なおのこと(^_^;
いや、むしろ「ん?この流れだと falseって表示させたいんじゃ?」と思ってサンプルを実行してみたので、実は著者の狙い通りなのかも……

P. 169 サンプルコード 11-4-4-3

>>> def arvf ( *args ):
... print args
...
>>> arvf(1,2,3)
(1, 2, 3)
>>> arvf (*[1,2,3,])
(1, 2, 3)


……シーケンスの前に "*" を付けることで、なにが変わったのかがわからなくて切ない。・゚・(ノД`)・゚・。

ここは本気でわかんないので、あとで初めての Pythonで確認しよっと。

と、まぁいろいろ書きましたが良い本だと思います。とりあえずガシガシプログラム書きながら覚えたいんで、細かい仕様はあとでいいんだよ!という方にはお薦めの 1冊です :-)



IPv4/IPv6 meter
検索キーワードは複数指定できます
ChangeLogを検索
Google
Web www.kunitake.org
思ったより安い……時もある、Amazon

カテゴリ