オライリー 退屈なことはPythonにやらせよう

日常業務でプログラミングを必要としない人は、プログラミングを習得しようとしても実際に何に使っていいかがよくわからない。自分もその一人だ。自分の場合、小学生の頃にBASICの基本的な部分を独学し(判定文を利用して県庁所在地や首都を当てるゲームをつくったり、ループを利用して図形を描いたりしてたのを覚えている)、その時以来、基本的な部分の進歩がないまま30年が過ぎた。

でも、プログラムを組んでパソコンを操作するのには、決まったことしかできない既存のソフトを操作するのとはまた違う喜びや達成感がある。

自分が仕事で最近よく使うのは、測定機器から発生したcsvファイルを読み込んで、プロットして、可視化する簡単なスクリプトだ。計測により発生した何十、何百ものcsvファイルをいちいちアイコンを探してクリックして、エクセルで開き、範囲指定して、グラフ化し、プロットの範囲や軸の調整などをして・・・・とやると、まさに退屈で時間がかなりかかる。しかし、スクリプトを組んでいれば、ファイル名****.csvの****の部分を書き換えるだけで次々と決まったフォーマットでグラフを書くことができるのだ。当然、どのファイル名がどの計測に相当するのかは前もってルールを決めてわかるようにしておく必要はあるが。

「退屈なことはPythonにやらせよう」はノンプログラマーがPythonを使っていろいろ便利なことをしてみようという本だ。英語だが、本の内容は以下のサイトで読むことができる。

Automate the Boring Stuff with Python

著者のブログに書いてあるが日本語訳の書籍にはいくつかの工夫がなされているようである。

d.hatena.ne.jp

原著者のAI Sweigartさんはブログでプログラミングの入門記事を提供しているようだ。

The Invent with Python Blog -

まえがきに書いてあるように、「退屈なことはPythonにやらせよう」はノンプログラマ向けで、なおかつPythonの入門書ではないので、オブジェクト指向やリスト内包表記、ジェネレータなどの、洗練されたプログラミングの考え方は解説していない。小規模でシンプルな命令を与えるだけならそれでも問題ないし、ある意味、難しい概念で躓くくらいなら、プログラミングの可能性をまず感じることの方が大切かもしれない。

とはいえ、6章分を使ってPythonの基礎的な部分の解説があるので、Pythonとは何ぞやということを知らない人でもこれ一冊で後半部分を読み通す力は付くように作られている。

この本では開発環境として最も基本的なIDLEを推奨している。次のステップとしてJupiter Notebookをお勧めしている。自分はJupiter Notebookをよく使っている。ちなみに、Anacondaのインストールの仕方も本に書いてある。Anacndaをインストールすると、PythonもJupiter Notebookもよく使うモジュール類もすべて自動でインストールされるし、高度な開発環境のSpyder等もインストールされるので、Anacondaで環境構築するのが一番シンプルで間違いがないかなと自分は思っている。

550ページを超える分厚い本だが、必ずしも通読する必要はないと思うので、かいつまみながらこれからあれこれ試してみようと思っている。

 

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング