どのような本で、どのように学習すれば、挫折することなく、無事にPythonを習得できるのでしょうか。Python本のオススメと一緒に、私が最適と考えている独学方法を紹介します。

私も最初は挫折の連続でした。しかし、何とかまず1つの言語を覚え、その後、他の様々な言語も学んでゆくうちに、ようやく「プログラミングの学習方法」がわかってきました。

世の中には、いとも簡単に習得してしまう才人もいますが、普通の人はそれなりに苦労します。ここでは、普通の人がどうやったらプログラミングを習得できるかを、Pythonを対象に紹介します。

この記事の目次

挫折しない学習方法とは

プログラミングの学習方法と言えば、「書籍による独学」が主流でしたが、最近では「オンライン講座」など選択肢が多くなってきました。

書籍による学習のメリットは、自分に合った参考書を自分で選べることですが、デメリットは、継続できなかったり挫折してしまうことです。つまり、挫折しないで続けられる方法があれば、「書籍による独学」の方がコスト面でも有利になります。

その方法とは非常に簡単なことで、やさしくて絶対に挫折しない本を「最初の1冊目」に選び、何が何でも最後まで写経しながら読むということです。

そして、「2冊目以降」は、自分が興味があったり、作ってみたいプログラムについて詳しく書かれた入門書で学ぶということです。例えば、Webアプリに興味があれば、そこに関するページ分量が多い入門書で学習します。

プログラミングの挫折しない学習方法
  • 絶対に挫折しないやさしい本を1冊最後まで写経しながら読む
  • 2冊目以降は、興味がある分野に詳しい入門書で学ぶ

以下では、Pythonを対象に、この1冊目、2冊目以降にオススメの書籍を紹介します。

挫折しない1冊目にオススメの本

1冊目を選ぶ基準は、とにかく「挫折しないで最後まで学習できるかどうか」です。以下の2冊ともわかりやすい本ですが、通常はよりわかりやすい「Python1年生」の方をオススメします

Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ 森 巧尚、2017.12

iPhoneアプリの教科書で定評のある著者によるPython超入門書です。以前iPhoneアプリの書籍を読み、そのわかりやすさに感激していたので、Pythonの入門書が出版されたのを知るや即座に購入しました。期待以上のわかりやすさです。

多くのプログラミングの書籍は、独特のくどさがあります。それが、読みづらさの原因にもなっています。しかし、この本の文章には、くどさがありません。すっきりとして頭に入りやすいのです。くどさが無くなるまで、相当推敲していると思います。イラストとの調和も秀逸です。

内容は、Pythonの基本の他に、GUIアプリ機械学習(scikit-learnを使用)も体験できます。超入門書でこれはすごいです。しかも、オブジェクトという言葉を使わないで正確に説明しています。

正直言って、挫折したくても挫折できない入門書です。私はやさしい説明の勉強に使わせていただいてます。まずは、この本を最初から最後まで、実際にパソコンで動かしながら読んでください

たのしいプログラミング Pythonではじめよう! Jason R.Briggs(訳:磯蘭水、藤永奈保子、鈴木悠)、2014.2

「もう少しボリュームがあっても挫折しない自信がある」、「どうしてもオブジェクトやクラスを初めから勉強したい」、「趣味で簡単なゲームをつくりたい」という場合にオススメです。

この本の特徴は、説明が非常に丁寧ということです。初学者が不思議に思うだろうという箇所を的確に説明しています。オブジェクトについても丁寧に書かれているので、他の本で「オブジェクトがよくわからない」と感じていたら、一読するとわかると思います。

内容は、Pythonの基本の後に、Tkinterという標準ライブラリを使用して、かなり凝ったゲームを作成します。自分でゲームを作って遊びたい場合は、この1冊で基本を学習できます。

2冊目にオススメの入門書

2冊目は、「今後どのようなプログラムをつくりたいか」、「何に興味があるか」によって入門書を選んでください。以下の目的や興味の対象で分類してみましたので、参考にしてください。

オールラウンドに学習したい場合

入門 Python 3 Bill Lubanovic(監訳:斎藤康毅、訳:長尾高弘)、2015.12

プログラミングをする上で考えられることを広範囲に網羅しています。多種多様なキーワードを載せてくているので、詳しくはネットで調べることができるので、非常に重宝します。

この本の特徴は知識量の多さです。複素数や有理数の計算まで記載している入門書は少ないです。一方で、クラウドでPythonがどのように使えるか、ということまで簡単に説明してくれています。

本職のエンジニアに興味がある場合

Pythonのエンジニアになるための基本を学ぶことができる書籍として、2冊オススメします。両方ともエンジニアとしての仕事の全体像をイメージしやすい内容になっています。

Pythonエンジニア ファーストブック 鈴木 たかのり 清原弘貴、嶋田 健志、池内 孝啓、関根 裕紀、2017.9

独学プログラマー Python言語の基本から仕事のやり方まで コーリー・アルソフ(監訳:清水川貴之、訳:清水川貴之、新木雅也)、2018.2

Webアプリに興味がある場合

Head First Python 第2版 ―頭とからだで覚えるPythonの基本 Paul Barry(監訳:嶋田健志、訳:木下哲也)、2018.3

Pythonの基本の後に、ひたすらWebアプリケーションを作成することで、Pythonを身に付けます。Flaskという人気の軽量Webフレームワークを使います。

素朴な疑問に答えてくれる丁寧な説明が特徴です。ただし、「あえて冗長にしている」と著者が記している通り、しつこいくらい丁寧です。それが人によっては苦痛に感じる可能性もあるので、購入する場合は、書店で文体を確認した方が良いです。

仕事自動化に興味がある場合

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング Al Sweigart(訳:相川愛三)、2017.6

Excel、Word、PDF、Webスクレイピング、フォルダ管理、画像など、業務に使えそうなネタが詰まってます。業務でPythonを使う方には必携です。

前半にPythonの基本もあるので、これ一冊あれば大抵事足ります。開発環境はIDLEを使用しており、IDLEによるデバッグ方法がしっかり書いてあります。

データサイエンスに興味がある場合

Pythonデータサイエンス 杜世橋、2016.11

実に完結にうまくまとまっています。知りたい箇所がすぐに見つかり、非常に使い勝手が良いです。NumPy、Pandas、scikit-learnの基本的な使い方がメインですが、普段使いには十分です。

何かしたい時に、とっかかりがすぐにつかめるので重宝してます。余白が多いので、補足事項を自分で書き込んで使用しています。最後に、Flaskを使った機械学習のWeb APIの作成例があり、社内でAPIを立ち上げる時などに参考になります。

みんなのPython 第4版 柴田 淳、2017.1

通称「みんパイ」と呼ばれ、長年親しまれてきました本の最新版です。おそらくPythonの国内普及に最も貢献した本です。

Pythonの入門書として基本事項をしっかり網羅していますが、この第4版の特徴は、データサイエンスや機械学習の概要にも触れている点です。本書のコードは、Anacondaで動かすことを前提にしています。

最後に

むかし全く理解できなかった K&R(著者ふたりの頭文字で呼ばれている代表的名著「プログラミング言語C 」、難解なことでも有名)も、今では読むたびに少しずつわかります。

何の分野でもそうですが、時間を置いて名著に触れると「これはそういうことだったのか」と感心することが良くあります。

そのような意味では、「名著に挑戦して撃沈しておく経験」も否定できませんが、時間がかかり過ぎます。無理だと思ったら、やさしい本に切り替えて、紹介した方法を試してみてください。

プログラミングは職業プログラマだけのものではありません。「本業+プログラミング」が人生を面白くしてくれます。自分の専門分野をプログラミングの題材にできるのですから、面白くない訳がありません。多くの方々が、プログラミングを覚えることを願っています。

そうです、Pythonが生まれた背景には、「万人のためのコンピュータプログラミング 」という哲学があるのですから。