スクリーンショット_2018-04-03_17

【初心者の人へ】独学でプログラミングを始めるなら、教科書一冊やったらすぐ実践へ!

 Pythonを独学で始めてはや3年。プログラミング初心者の僕がスキマ時間を利用して、ToDoアプリを自作できるまでになった。その過程で 

「プログラミングを独学でやるなら、教科書1冊をさらっと通した後、すぐにアプリやサービス作りなどの実践を経験したほうがいい」

と感じた。

なぜか?それは、アプリやサービスなど具体的なモノをつくることで、コードの具体的な使い方が学べるから。個々の項目への理解に加え、その使い方まで自分の中にストックできるのだ。今回のアプリで例えると、アプリ終了後も入力した内容を保持するには、入力した内容をリストに渡し、それをpickleで保存する必要がある。なので、リストとpickle単体への理解に加え、それらの使い方や関連性を合わせて身に付けられる・・みたいな感じ。だから、学んだことをベースに実践するってすごくいいこと。特にプログラミングは、他のスキルと比べてアウトプットがすぐできるなので、どんどん実践していくべきだ。

 僕はそれに気づくのに1年半かかった。「何ダラダラやっとんねん」とあの頃の自分を叱ってやりたい・・・

そんな僕の失敗は何か? 

それは、教科書的な本を1年かけて1冊終えた後、さらに数冊の参考書で知識を深めようとしてしまったことだ。結果、自分でコードを書けるようになどなっていなかった。当たり前だ。参考書を読んでいるだけで、コードを書くといっても、教科書のもの2〜3行をコマンドプロンプトに入力する程度。自分で考えて手を動かしていなかった。これではコードを書けるはずがない。

だから、簡単なコードで動くToDo管理アプリを作ることにした。条件はただ一つ。自分で考えて書くこと、それだけ。参考書とかは見たけど、必要な機能は何か? それを実現するために必要なコードは何か?を考えて作った。

結果、1ヶ月程度で下のようなToDo管理アプリができた。コマンドプロンプトから起動するタイプのアプリで、外観やボタン配置なんかはtkinterという外部ライブラリを使っている。基本機能は、ToDoの入力/表示/保存だけ。すっごく単純なアプリだけど、これだけ実装するのも結構大変だった。

これにより、いいことが2つあった。

①教科書を読んでいる時はぼんやりとしていた、個々の項目への理解が深まった。例えば関数の使い方、データのセーブ&ロード、formatの有用性とか。

②何より、自分で動くものを作れたという達成感が得られた。これは素直に嬉しい。

次の取り組みとして、さらなる応用、具体的には今回のコードをクラスを使って書き直すことをしようと思う。


 *補足;僕が使った教科書は「みんなのPython 第3版」。今は第4版が出てる。Pythonの強みの一つである外部ライブラリについてはほとんど触れていない。本当に基本的なことしか書いてないけど、初めての人にはちょうどいい詳しさ。教科書ならこれくらいで十分。numpyとかpandasを学びたい場合はオライリーの「データ解析入門」をやっておくといい。僕はDataFrameの計算方法とかaxisの考え方を理解するのにすごーく苦労した。学校でやった行列と同じと思うと痛い目見るよw

 

この記事が気に入ったらサポートをしてみませんか?