blog.bouzuya.net

2012-03-19 『みんなのPython』を読んでいる

みんなのPython』を読んでいる。先日紹介した『Pythonスタートブック』よりはページ数があり、読み応えがある。

まだ読み終えていないのだが、現時点での感想を書きたい。ぼくがたずねたいのはただ一つだ「この本の対象者は一体誰なのか」ということだ。

初心者に向けて書いているのか、それとも他の言語の経験者に向けて書いているのか。「みんなの」と題しているくらいなので、すべてを意識したのだろうか。要するに中途半端なのだ。

ぼくはこの本を読んでいて、読み飛ばしたくなるページが多い。それは先に『Pythonスタートブック』を読んだせいもあるが、知っている内容を長々と説明しているからだ。関数は戻り値を~とかは他の言語の経験者からすれば当たり前のことである。

ページ数の割に内容がないかと言われればそれも違う。

それほど重要だと思えない機能を掘り下げて説明する。例えばスライスの[::]なんて、そうそう使いそうにない。returnでタプルの()を省略できることは知らなくても良い気がする。「古いバージョンではhas_key()で」なんて余計な気配りである。

初心者向けなのか、移行者(多言語から、あるいは旧バージョンから)向けなのか……。とにかく対象者が分からない。第一印象はそんなところだ。

Pythonの勉強にはなっている。知らなかった機能をいくつか知ることができた。一例を挙げると次のようなものがある。

  • yield ( C# の yield return のようなもの )
  • リスト内包表記
  • lambda
  • アンパック代入

Pythonについて知るにつれて、そんなに良い言語ではない気がしてきた。まだ理解が甘いせいか、機能に一貫性がないと感じる。便利そうだからという理由で追加していそうな機能と、妙に神経質な理由で残されている機能とが混じっているように感じる。

リスト内包表記は便利そうだが、しばしば可読性を落とすだろう。その割にオフサイドルールを採用し可読性の向上を図っていたり……。returnにおけるタプルの括弧の省略が許されたかと思えば、なくても良さそうな:が必須だったり……。

正直なところ理解に苦しむ部分が多い。まだ途中なのでもうすこし調べてから評価したいと思う。

32 min.