こんにちは。現役エンジニアの”はやぶさ”@Cpp_Learningです。
今回は『ゼロから学ぶPythonプログラミング』という本の感想文を書きます。
Contents
忙しい人のために
忙しい人のために『ゼロから学ぶPythonプログラミング』を1分で紹介します。
- 全ページ(245ページ)オールカラー!
- イラストの多い丁寧な解説
- とある大学の名講義を書籍化
- プログラミング初心者にも分かりやすい内容
- ”Python”の本というより”Pythonプログラミング”の本
- プログラミング基礎からPythonコードの書き方まで学べる
- 数値シミュレーションや機械学習のサンプルコードも公開
Pythonを学びたい人だけでなく、プログラミングを学びたい人にも参考になる内容です。
『プログラマ的感覚』を習得したい全ての人にオススメの一冊!
玄人にもオススメしたい
プログラミングを武器に仕事をしている人…いわゆる玄人は、Pythonより先に別の言語を習得している印象があります。
私の場合「C言語 ⇒ C++ ⇒ Python」の順にプログラミング言語を習得しました。
C言語(特にポインタ)の習得には苦労しましたが、メモリやアドレスを意識してコードを書く「プログラマ的感覚」は、今でも仕事に活かせています。
Pythonだとメモリやアドレスをあまり意識する必要がなかったり、クラウド活用により、リソース不足の問題から解放されつつありますが…
- どうしてプログラムは動くのか?
- 何故こんなコードの書き方をするのか?
- どんな問題に対し、プログラムが威力を発揮するか?
- どうすればプログラムで自動化しやすい問題に置き換えられるか?
などの 知識や感覚 を早い段階で習得できると良いです。
もちろん経験を積まないと身に付かない感覚もありますが、この本でヒントを得ている人とそうでない人とでは習得スピードに差がありそうだなと感じました。
「プログラマ的感覚」を習得したい初学者はもちろん、プログラミングを再学習したい玄人にもオススメの1冊です。
文章構成
全14章で構成されており、各章のはじめに「本章で学ぶこと」を明示してから本題に入ります。例えば『第5章:文字列処理』だと以下の通りです。
- 文字列処理
- 辞書
- 正規表現
- 形態素解析
- ワードクラウド
既に習得している内容であれば、読み飛ばしても良いと思います。各章で説明が綺麗に完結しているので、好きな所から読み進めることができます。
Coffe Break(コラム)がすごく面白い
各章のおわりに、勉強の合間にちょうど良い、Coffe Breakというコラム(ちょっとした小話)があります。そのCoffe Breakがめちゃくちゃ面白いです!
私のオススメは第7章の『進化するオセロAIを作った話』と第12章の『疑似乱数とゲーム』です。
なんてことを思い出しました。
テンポの良い分かりやすい解説のあとに、このCoffe Break!素敵です!!
Pythonプログラミング力💪を確認
繰り返しますが、この本は「とある大学の名講義を書籍化」したものです。つまり優秀な大学生は、この本の内容をスラスラ理解し、サクサク実装できる気がします。
そのため、この本を読んで理解できない内容があった場合は、”知識”や”プログラミング力💪”が不足しているかもしれません。
フクロウの”くるる”ちゃん@kururu_owlのように、どこの知識が不足しているか?を確認するのにも、この本が役立つと感じました。
現時点での知識不足は恥ずかしいことではありません。むしろ知識不足に早い段階で気づき、不足を補うために行動できる人はカッコイイです。
機械学習をしっかり学ぶ本ではないよ
この本の第14章(最終章)で機械学習の概要を学ぶことができます。簡単な機械学習(重回帰分析とGAN)のサンプルコードも公開しています。
機械学習がやりたくてPythonを学ぶ人には、物足りない内容かもしれませんが『Pythonプログラミングを学べば機械学習にも挑戦できる!この本を通じて体験してみよう!』という想いが伝わる文章でした。
機械学習をきっかけにPythonを学ぶのは良いことですが、プログラミングの基礎は疎かになっていませんか?
心当たりがある人は、この本をチェックすると良いと思いますよ。
次のステージへ
この本でPythonプログラミングを学んだら、ぜひ次のステージに進んでほしいです!
より良いシンプルなコードの書き方を学びたいと感じたなら、この本でも紹介している「リーダブルコード」がオススメです。
第12章ではマルコフ連鎖モンテカルロ法(Markov-chain Monte Carlo methods, MCMC)というキーワードが登場します。MCMCを深堀りして勉強すれば、ベイズ統計モデリングに出会えると思います。
第13章で数値シミュレーションについて学んだら、次はゲームづくりに挑戦しても面白いかもしれません。
やっぱり機械学習がやりたい!という人は、良質な本や記事が世の中に沢山あるので、それらを参考に勉強するのが良いと思います。
本サイトでも多くの機械学習に関する記事を紹介していますので、ご参考までに。
この本を読んでPythonプログラミングでどんなことができるのか?を学んだ人は、”小さな知識の地図”を手に入れた状態です。
あとは、その地図を持って先に進み、どんどん知識の地図を広げてほしいと思います。
おわりに
素敵な本に巡り合えると嬉しいですね。
本当にオススメの一冊です。