Pythonの基礎を固めておきたい
というわけで、AIだのに興味がちょっとある今日この頃で、この間はAIに合っているというプログラミング言語Pythonを動かしてみるべく開発環境をパソコンに入れてみました。

で、いざPython使ってみようと思ってネットを頼りに触っていたんですけど、ちょっと基礎をしっかり固めたいと思って本を買うことにしました。
どうも私にはこういうときには映像とかよりも本の方が合っているような気がする。
「Pythonスタートブック」にしました
で、どの本にしようかといろいろ数ページのサンプルとかを見てたんですけど、私に合いそうなのは「Pythonスタートブック」だと思って買ってみました。
基本がしっかり学べそうだというところと、内容が分かりやすそうというのがポイントでした。
早速読んでみて
2日くらいかけて読んでみたんですけど、買って正解という感じでした。
巻末の付録のページを除くと270ページくらいですけど、その中でif文の説明が出てくるのが127ページということで結構遅めの印象。
そのページに至るまでに、Pythonのポイントとなるリストとかタプルというデータの持ち方についての説明がしっかりとあって良かったです。
10章までの構成でしたが、10章は結構な応用編といった感じで、プログラミング以前に数学的に難しい内容だったので流し読みをしました。
9章も使うときが来たらまた読めばいいかなというところで軽めに流しました。
それ以外の8章までについては即戦力になりそうな基礎的なところといった感じで、この基礎を多めにとっているバランスも非常にありがたいところ。
比喩を使った説明がちょこちょこありますが、ファイル入出力の説明(flush)で「ホースの中のデータを流す」、というところなんかはわかりやすいなと思いました。
亀で遊ぶ
で、途中で亀を動かす章が出てきます。
2行ほどのコードを打つだけで亀のいる画面が出てきて、

kame.forward(200)などと書けば200ピクセル分直進したり、

kame.circle(200)などと書けば、グイーっと、

半径200の円を描いたりする。

これ、私が小学校の図書室でLOGOっていうプログラミング言語で「亀を動かそう!」みたいな本があって、PCもないのによくわからんけど借りて読んだ記憶がよみがえってきたんですけど、まさにそのLOGOを再現したようなやつがPythonで簡単にできるという予想外のうれしさ。
図書室にあった本も結構ボロくて古い感じだったので、LOGOって相当古いんだと思いますけどまさかここで初めて亀に会えるとは……。
嬉しくなってフラクタル的な図形を描くように関数作って亀と戯れていたら相当な時間をロスしたという……。

色だって塗れるんだぜ?!

Pythonのバージョンについて
で、Pythonは2.xってバージョンと3.xってバージョンがあって、この本はどちらかというと2.x系なんですけど、3.x系にきちんと配慮した記載もあって3.x系でも問題ないと思いました。
実際、先日私はよくわからずに3.x系をインストールしたのですが、ちょっとだけ書き方が変わる部分があるものの、ほぼ支障ない形で読み進められました。
正誤表など
Pythonのバージョンアップとかで話が変わったところについては、筆者のサイトで補足が出ているのでこれを読みながらいけばOK。
メモ
おそらくテキストや筆者のサイトに説明がなくて、1か所だけ自分で調べたところがあったので以下、メモです。
ちなみに私の本は初版第11刷(2017年7月)です。
P.62 – range(10)について
range(10)
は、Python3.xでは
list(range(10))
にする必要がある。
まとめ
というわけで、Pythonの基礎を知りたい人にはお勧めしたいなと思った次第です。
なお、パソコンに対してまったくの初心者の場合はどうしても序盤の環境準備とかでつまずくかもしれませんけど、そこが乗り越えられれば、プログラミング初心者でも比較的わかりやすいタイプの本かなと思いました。
おわり。
追記
次に読んだ本はこちらです。


12歳からはじめる ゼロからの Pythonゲームプログラミング教室
- 作者: 大槻有一郎,リブロワークスPython部,雪印
- 出版社/メーカー: ラトルズ
- 発売日: 2017/05/11
- メディア: 単行本(ソフトカバー)
コメント