半地下備忘録

たつさんの日記的ななにか。

『独習Python入門――1日でプログラミングに強くなる』

Raspberry Piで何かやろうと思ったときにちょっとググったりすると、Pythonで書かれたコードが出てくることが多くて、いっちょ入門してみようか…ってタイミングで 「独習Python入門」というプログラミング本を出版します - GoTheDistance って記事が流れてきたので買ってみた。

主題のとおり「Python」の本ではありつつも、どちらかというとプログラミングに初めて取り組む人向けといった印象。自分は学生時代にプログラミングの授業は受けたけど、お仕事でのプログラミング経験はなく、Python未経験。想定読者どんぴしゃでもないけど、遠くもない…かな?

プログラミングとかって環境構築だけでつまずくことも少なくないけど、この本はPythonとAtomのインストーラー叩くだけで環境構築としては終わりだったのも楽だし、分からなくなる要素がなくてよかった。きっと他にもいいやり方とかエディタとかいっぱいあるのかもしれないけど、初心者によって優先されるべきはとにかく「分かりやすい」方法だなーと。

実行結果だけテキストで載せる入門書もあるけど、この本はスクリーンショット多めで、はじめての人でも安心しやすいのが非常に良さそう。それでも、本書後半ではテストとか、スクレイピングについても書かれてたりして、入門書にしては珍しいなーと。テストやスクレイピング部分に関しては、分量としては多くないけど、キーワードを知っているだけでググりやすくなったり、本を探しやすくなるので、ありがたい。


この本の最後に、次はデータベースって書いてあったので、とりあえず次はデータベースの本を探すことにしますー。

独習Python入門――1日でプログラミングに強くなる!

独習Python入門――1日でプログラミングに強くなる!

改訂版の予定があれば修正を…

まじめに読んだおかげで誤植とか見つけたのでご紹介。仕事柄こういうのが気になってしまう…。同じ内容を著者にメールしたところ、ご丁寧に返信までいただいちゃった。お忙しいのにありがとうございました!

p.75

本文の説明では「raw_input()というのは…」と説明があるのに、その下のサンプルコードではinput()が使われてる。

ちょっと調べてみた感じだと、Python2ではinput()とraw_input()で挙動が違ったらしいんだけど、Python3ではraw_input()は廃止されたのだとか。この本はPython3系で進める前提になってるので、本文の「raw_」は削除。

p.75

サンプルコードを素直に写経しても、p.76の実行結果にならない。

a = input('数字を入力してください')を a = input('数字を入力して下さい・・・・・')にしないと。本当に初めてだったら、何でだろ?って思う(気がする)。「下さい」→「ください」とか「・・・・・」は編集さんに修正されたのかもしれないけど、「a = input('数字を入力してください:')」くらいにしておいて、実行結果のキャプも直すのが良さそう。

p.95

サンプルコードでここまで出てきていない「index += 1」が突如出現。まぁ、意味は分かるけど。分かるけど…。初出なのでコメントあったほうが…。

p.114

「0.99までの」→「0~99までの」

p.168

リスト6.4のコードと、次ページの解説でコードがちょっと違うし、どちらもうまく動かない…。
「except IOError as ioe」にするのが正解っぽい。

p.206

「import data view」→「import datetime」
「with open(file, 'r'),encoding = 'utf-8' as f:」→「with open(file, 'r', encoding = 'utf-8') as f:

次のページのimport_data関数は直っているんだけど、なぜかここだけ間違っている…。

p.251

「html_body = """」→「html_body = '''」(閉じる部分も同様に)
次ページの本文ではシングルクォートになっているので。