Python

プログラミングから遠ざかっていた私がPythonを勉強するためにやっていることと今後の課題

しばらくプログラミングから遠ざかっていた私が、ひょんなことからプログラミングの勉強を再開することにした。選んだ言語はPythonとSwift。

このうち、Swiftについては『Swift実践入門』 という素敵な入門書を教材としているのだが、Pythonについてはなかなか気に入ったものがなく、勉強に困っていたという部分がある。

有名どころで言えば『Pythonスタートブック』『みんなのPython』 なのだろうけれども、これらはどちらかと言えば「とにかくPythonで何かやってみたい!」という方向けの本で、私のように「言語そのものを骨の髄から学ぼうとする」というスタイルには合わないのではないかと考えている。

それでは、いったいどのようにして勉強しているのか、その方法を簡単にまとめたいと思う。

私のプログラミング勉強歴

  • 2、3年ほど前まで、かれこれ数年間、PHPとHTMLを中心に勉強していた(なお、PHP7やHTML5.1、5.2は全然フォローできていない)。
  • 他にもRubyやPerl、JavaScript等に手を出していたけれども、熟達には至らず。
  • 『リーダブルコード』 とか『達人プログラマー』 とか、著名な本はだいたい目を通していた(つもり)。

なぜPythonなのか

  • 今最もブームになっていて、AIを中心に多方面で利用されているから。
  • OSを選ばない上に、方法さえ分かればGUIアプリもきちんと作れるから。

教材として選んだもの:「Think Python」

無料で読むことができ、PDF版もダウンロード自由。

英語は高校卒業レベルであれば難なく読み進められる程度で、そんなに難しくはない。特に抵抗がないのであれば原典を見ても良いと思う(実際、私もそうしている)。

ちなみに、初版と「2nd Edition」の違いは、「Python3」に対応しているかどうか。特に不都合がない限りは「2nd Edition」を見るようにすると良いだろう。

「Think Python」が教材として優れているポイント

  • プログラマの持つべき考え方がどういうものかを懇切丁寧に説明しているので、初学者にもおすすめできる。
  • コードの例が簡潔であり必要最小限にとどまっている。
  • 一節あたりが短く、どこからでも読み進められる。
  • あくまでもPythonは説明ツールとしてのみ利用していて、言語構造そのものにそれほど深入りはしていない。
  • 読んでいて楽しい。

簡易テスト環境:Atomの「script」

超有名なのでご存じの方も多いのではないだろうか。

わざわざ対話型環境を使わずとも、これで簡単にコードをテストできてしまう。数年前はこのような環境がなかったことを考えれば、ずいぶん便利な世の中になったな、と思う。

今後の課題

課題1:二冊目の教材としてどういったものを使うか

もちろん、「Think Python」を全て読み終えただけでは、プログラマとして必要最小限の考え方は身についても、Pythonをマスターしたことにはならない。二冊目、三冊目を手に入れ、徐々に読み進めていきつつ、実際のプログラミングに活かさなければ、Pythonを学んだ意味がなくなってしまう。

というわけで、二冊目以降をどうするかを今のうちから考えておかなければならない。

今考えているのが以下の四冊である(優先順)。

足りない部分や分からない部分は公式ドキュメント、あるいはネット情報で補おうと思っている。

課題2:どういったものを実際に作成するか

既に作りたいものは決まっているのだが、かなり大がかりになることは想像がついている。そのため、練習材料としていくつか作り上げたいと思っている。

簡単なWebスクレイピングツールあたりから始めると良いのかもしれないが、レシピ集を見て興味を持ったものから取り組むのも良いだろう。ともかく、実際に手を動かしてみたいところだ。

もしかすると、将来作りたいものが変わったとしても、このステージで学習したことは決して無駄にはならないと思っている(むやみやたらにコードを破棄しない限りは)。