隗より始めよ

今後はいろいろ考え始めます。

アラフォーでプログラミングの学習をはじめたおっさんのおすすめする、はじめましてPythonな人の学習方法。

f:id:mazarimono:20180611115626j:plain

この前の記事でPythonのAnacondaというパッケージをインストールして、Jupyter Notebookを使うということを取り上げました。

mazarimono.hatenadiary.jp

Anacondaというパッケージをインストールして使って嬉しいのは、いろいろな部品が最初からついており、特にウィンドウズではそのインストールに悩むことがないということです。

あまり喜ばしくない面としてはサイズが大きいことが挙げられます。

今回はどうプログラミング(今回の場合Python)を学習していくかというのを見てみたいと思います。


もくじ


本を買う

さて最初に取り上げるのは本を買うです。王道です。私は愚直に本に書かれているコードを打ち込み、分からない単語をググったりしていました。本を買うと色々な知識が一か所で吸収できるので良いです。最初の一歩を進めるには入門者向けの本がおすすめです。ちなみに私は下のもので勉強しました。

入門 Python 3

入門 Python 3

みんなのPython 第4版

みんなのPython 第4版

わからなくてもとにかく動いたら喜んで先へ進んでいくという感じで学習すると良いでしょう。すべて進めるとかなりの知識がつくと思いますが、まぁ全てやらなくても良いでしょう。

問題点としては初心者向け本と言っても、Python初心者であってプログラミング初心者ではないという面がありまして、時折他の言語ではこうですねーみたいな話が出てくることでしょう。プログラミング初心者にとっては何じゃそれみたいなところがあり、それを調べてみるとかやりがちですが、まぁ時間がかかるだけなので、そんなに調べなくてもよいのではないかと思います。

あと、本は高いしなぁという方には、ウェブにDive into Python3という本があるのですが、これは初心者には難しすぎるような気がします。なので、お金出しても良いよという方は上記の本を買って学習するというのが良いと思います。

ちなみに学習方法ですが、私の場合、デジタルブックを買って、本をPCで見ながら、Jupyter notebookに打ち込むという感じにしています。そうすると、電車の中でも学習がはかどりました。フィジカル本は、存在を忘れないという面では良いのでしょうが、プログラミング本は分厚いので重いし、開いているページが閉じたりするし、場所も取るしというので、あまりおすすめではありません。

あと、オライリーの本ですが、アマゾンには電子書籍はないのですが、オライリーから直接、電子書籍が買えて、どんな端末にでも落とせるので良いです。

mazarimono.hatenadiary.jp

ウェブで学習する

本は買いたくないという人もいると思います。3〜4,000円でプログラミングが学習できるというのは、その後の効果を考えるとものすごくコストパフォーマンスの良いものだと思うのですが、無料でも学習できるところもあります。

また、一通り本で学習した人が並行して問題を解くのに使ったりすると、学習効率が上がると思います。

動画サイトで学習する

無料で学習できるサイトもあります。

ちなみに私は動画学習サイトを課金して使ってみたことがあるのですが、なんというかやはり話しながらプログラミングな感じで、時間が結構掛かるというのと、本に比べて内容が薄い感じを受けました。

なので、そんなにおすすめではないですが、これで学習している方もおられるようなのでこういうやり方もあるということで、取り上げておきます。

paiza.jp

ドットインストール Python3

Pythonのサイトのチュートリアルで学習する

まずはPythonのサイトのチュートリアルで学習を進めるという方法があります。

見た感じ、結構本などと似たような順序で進んでいく感じがあるので良いかもしれません。

あと、ウェブで学習するメリットは、コードをコピペすることができるというメリットが挙げられます。下の画像の上に示したように、本のファイルからコードをコピーすると、いらない情報までついてきて、コードをコピペですぐに実行できないということがあります(プログラミングの学習にコードをコピペするなという話もありそうですが)。でもウェブからコピペした、下の画像の下を見ると、コピペが実行されているということがわかります。

f:id:mazarimono:20180611105723p:plain

これでもサイトを見ながらJupyter Notebookに打ち込んでいくだけなので、ウェブにつながっている必要はありますが、電車の中でも勉強できます。

他の問題サイトで勉強する

本、またはチュートリアルで一通り学習したあとの話かもしれませんが、実際に自分でコードを書いてみるということも必要になってきます。本ではなんでこんなことをしてんだろって気持ちになったりします。私もリスト型とか辞書型とかなにか嬉しそうに言っているけど、何の意味があるのかと思っていました。

しかし、問題を解いてみるとどうしてそんなことを学習する必要があるのか、おぼろげに見えてきます。そんなことにおすすめのサイトを3つピックアップしてみます。

Coding Bat

CodingBat Python

このサイトの問題は結構簡単なので、最初にここを使うのがおすすめです。簡単と言ってもはじめてプログラミングした人にとっては難しいですが、ヒントも出ますし、まぁ何とか解ける感じがありました。英語サイトというのがちょっと敬遠されるところかもしれませんが、プログラミングを始めると、英語でググれたほうが正解に巡り会えたりするので、プログラミングついでに英語に馴染んでおくのも良いかもしれません。

ChekiO

checkio.org

Checki0はサイトも作り込まれてて凄いです。自分が解答できると、他の人の解答が見られるようになるのですが、これがすごくて、自分が10行くらいかけて書いたコードが1行で書かれていたりします。この機能は「こんなやり方があるのかー」ということが知れるので、非常に良いです。

難点としては初心者にとっては問題がちょっと難しいかなって感じがあるので、上のCoding Batをやってから、次にここでやるのが良いのでないかなーと思います。あと、これも英語です。

コードガールこれくしょん

paiza.jp

なにか日本語で問題を解くものがないかと探してみたら、ありましたので少しやってみました。上の2つはちょっと本を読んでからという漢字がありますが、こちらは学習はじめでも全然できるもので良いと思いました。

print('paiza')みたいな問題から始めるので、これ簡単やなー的な感じな上に、女子キャラが出ていたり、アイテムが貰えたりと中々面白い感じです。難点はそれが嫌な人は嫌かもしれんなーというのと、会社で仕事しているふりしてはできないなという感じですかね。

日本らしくて面白いです。

==> その後ちょっとやってみたのですが、永遠と簡単な問題ばかり出てきて楽しくなかったです(2018年6月27日)

まとめ

以上なようなツールを使って学習を進めるとプログラミングが使えるようになると思います。

基本的な学習パターンとしては、本、もしくはウェブで学習するラインと、問題を解くラインを並行して進めると、これはこういうときに使うのかぁということがわかって良いと思います。

あと、自分でやりたいことをやってみるというのも良いです。エクセルのデータを弄るとかみたいなことは、だいたいif文とfor 文が使えるようになると簡単にできたりするので、そういうのから始めるのが良いかもしれません