どうも僕です(^^)
『Python言語の基本から仕事のやり方まで 独学プログラマー』
という本を読了しましたので書評をしたいと思います。
これからPythonを勉強するという方にはオススメなのが本書です。
目次
・内容
・読了してからやること
・これから勉強しようと思っている人へ
僕は今年に入ってからPythonの勉強をスタートしました。
途中で1ヶ月ぐらい期間を空けたときもありましたが、
3月中旬からまた勉強し直し、先日一読が終わりました。
理解に難しい章もありましたが、プログラミングの参考書としてはとてもわかりやすい方だと思います。
難しいのはあくまでプログラミングの内容です。
入門編としてはとてもいい本です。
Pythonプログラミングの入門書というよりは『プログラマーとしの入門書』と言い換えてもいいと思います。
僕がはじめてプログラミングの勉強をしたのはC言語でしたが、
この本からスタートできたら良かったのにと今では思います。(当時この本はなかった)
内容
本書はプログラミング言語Pythonの初心者向けの本です。
基本的の文法を学ぶことができます。
特徴としてページは全て黒字のみで書かれています。
黒字だけですが自分でチェックを入れたところがわかりやすいのでとても気に入っています。
本書の各ページで出てくるサンプルコードは、その上にURLも掲載されています。
そのURLにアクセスすると、既に完成されたコードにアクセスすることができます。
これは一見意味ないように思いますがとても便利なことです。
というもの、他の参考書を例にするとコードを写して自分の環境で実行した場合、
エラーが出てうまく動かないということがあるからです。
エラー出てしまったら、見直してもどこが間違っているのかわからない。
それでできなくてやる気がなくなって、勉強が続かいないという初心者が陥りやすい状況から脱出することができます。
他の入門書ではないことなのでとても助かりました。
ちなみに、僕は12章のクラスの定義で、
クラスを定期するときに使う特殊メゾットの『__init__』がありますが、
このアンダースコア(_)が1つと勘違いしていて、うまく動きませんでした。
そこでURLの参考を見て解決しました。
(本書をちゃんと確認していれば2重アンダースコアと書いてありました。。)
それと、第9章ファイルの130ページの新しいCSVファイルを作るコードでは、
本のコードを写しても実行できなくて、URLのページのコードを試したらうまくいきました。
よく見たら本のコードとサイトのコードは少し異なっていました。
おそらくサイトの方で修正されたのだと思います。(僕の本は第1版8刷でした)
本の後半(本書第3部以降)からはPythonの勉強のほかに、
プログラマーとして知っておいた方がいい知識を学ぶことができます。
例えば、『コマンドライン』や『パッケージ管理』、『バージョン管理』、『データ構造』、『アルゴリズム』などです。
個人的にはコマンドラインを学べたことはとても良かったと思っています。
読了してからやること
今までプログラミングの勉強をしてきた人はともかく、初心者が本書を一読したぐらいでは全てを理解するのは難しいと思います。
そのため本書を読了してからどのような行動をするのかがとても重要になってきます。
あながが今後プログラマーとして働くのであれば、本書の第25章にも書いてあることを引用すると下の一文が重要になってきます。
『単にこの本を読んだということではなく、概念をマスターしていることが求められます』
確かに一読したからといって、何ができるようになったかというとまだまだだと思います。
できることは限りなく少ない状態です。
一読したぐらいでコードを自由に操れるぜってやつは天才でしょう。
私の場合は一読したと言っても、第4章関数、第12章のオブジェクト指向は一読するまでに6〜7回再読してます。
そのほかの章もおそらく2〜3回は再読している)
実際僕も概念の理解はまだまだ。
本書に掲載されているコードの理解もまだまだ。
実行してみてできなかったコードもありました。
おそらく開発環境の影響でコードを写してもダメでURLからコードを持ってきて実行してもダメでした。
まあできなかったコードについては、これからいろいろと試していこうと思います。
一読してから先の勉強にいては理解の薄いところを繰り返しやって、知識を深めていこうと思います。
それと同時に、定期的に読み直したいとも思っています。
というのも、この本は単にPythonプログラミングを学ぶというだではなく、
プログラマーとしてデビューするためにはどうするかということにも多く触れているからです。
仕事として始めるための、これからの心得みたいなところが後半で多く書かれているのでとても参考になりました。
あとは実行あるのみですね。
これから勉強しようと思っている人へ
プログラミングの参考書はすぐに理解できる人と、なかなか理解できない人がいると思います。
すでに扱える言語が他にあるという人であれば、理解は早いでしょう。
そうではなく、まったくのはじめてという人であれば、最初はとても苦労するかもしれないです。
僕も最初読んだときは、頭に『?』が5つぐらい発生していました
特に第2部に入ってからは意味不明でした。
オブジェクト指向の概念、クラス、クラスインスタンス変数とかが出てきたところぐらいで、
このまま先へ進んでも訳がわからん状態でした。
そのため進むことを一時中断して、第1部を再読してから第2部に再チャレンジしました。
僕の個人的な感想ですが、第2部に進むためには第1部4章の『関数』の理解と、
5章のデータ構造の『リスト』『タプル』『辞書』の理解とそれぞれの違いを理解しておいたほうがいいと思います。
それでも最初はクエッションが?????ぐらい発生したので、
繰り返し読んでいって、?を5つから4つへ、
そして3つから2つへと少しずつ減らしていって理解を深めていった感じです。
初心者の方は最初からすべて理解できなくても落ち込まず、
わからなくなったら少し前へ戻って、復讐してから進めていった方がいいと思いました。
余談ですが、なぜかはわかりませんが第20章の『ウェブスクレーパ』については、
本書のコードを写してもURLのコードをコピー&ペーストしても不可でした。
なによりも、ウェブスクレーパは面白そうだったのでできないのはとても残念でした。
コードについては本書の正誤表を確認しても載ってなかったので僕の環境が悪いのか、
それともまだコードが修正されていないだけか。。
(※本書11章の『ハマったときの助け』よりhttps://dosc.teratail.com/にアクセスし、過去の質問を探ってみたら解決しました。私の場合はmacOSにインストールされているOpenSSLが古い&コードの『if “http” in url:』を『if “http” in url:』にしなければならないことが原因でした。原因を改善したらうまくいきました)
本書が一通り終わったので、次の勉強本として下記の本を購入しました。
『 退屈なことはPythonにやらせよう
ノンプログラマーでもできる自動化処理プログラミング 』
題名からしてすでに興味があるので楽しみながら勉強していきたいと思います。