今回はPythonを使った私なりのオススメプログラミング入門ルートを紹介します。
とはいえ、私自身も初心者でありますので、初心者なりに良いと思ったモノを紹介していきます!
・プログラミングに興味あるけど、なにをしたらよいか分からない方
・環境は整えたけどイマイチ勉強が進まない方
この記事のゴール
先にこの記事のゴールを説明しておきます。
※完全に0からの初心者向けです。
PythonでPandasやmatplotlibをいじったことがある人にはあまり意味がない記事です。
対象①プログラミングに興味があるけど何をどうすれば良いのか分からない方
目標:開発環境を自身のPCに用意して、webや参考書のサンプルプログラムが動かせるようにする。
対象②プログラミングの勉強を始めてみたけど、なんだかよく分からない方
目標:学習方法を紹介します。タイタニック号のモデルを使ってグラフ化や生存予想などを体験する。
主にこの2つがゴールとなります。
ちょっとでも興味がわきましたら読み進めていただければと思います。
Pythonについて(プログラミング言語のお話)
プログラミングと一言でいってもいろんな種類があります
一言にプログラミングといっても、C言語、Java、Rubyなど様々な言語があります。
日本語、英語、フランス語…我々が話す言葉にもいろいろ種類があるように、プログラミングにもいろいろ種類があります。
それぞれ特徴や強みがあり、自分のやりたいことに応じて言語は使い分けますが、言語ごとに人気があったりなかったりします。
日経 xTECHの「プログラミング言語人気ランキング2020、2位に「大躍進」したあの言語」を参考にすると、人気のプログラミング言語は、
1位:C/C++
2位:Python
3位:JavaScript
となっています。
C/C++とJavaScriptの特徴については割愛します。(気になる人はググってみてください)
今回は2位のPythonにフォーカスしていきましょう。
なんでPythonで学習するの?
では、なぜPythonでのプログラミング学習をオススメするのか。
それは、「人気だから」につきます。人気の言語で学ぶメリットは
・参考書が多い、解説サイトが多い
・自分がやりたいことのサンプルコードが見つかりやすい
等があげられます。
それ以外にPythonのメリットは、
・記述がシンプルで分かりやすい
・面倒な作業の自動化プログラムも作りやすい
・機械学習などのライブラリ(※)が充実している
・データサイエンスなどの分野にも用いられている
なども挙げられます。
(※)ライブラリとは、オプション機能のようなものです。例えば、機械学習をする場合、通常は難解な数学を学んでそれをプログラミングしなければなりませんが、Pythonのライブラリにはscikit-learnを使えば、そんな難しいことは不要で、数行程度のプログラミングで機械学習ができてしまいます。
特に記述がシンプルというのは重要です。
特にプログラミングを始めたての頃は、自分の意図通りにプログラミングが動くことが何よりも楽しいです。
そこにたどり着くまでになるべく余計な障壁は避けておきたいですよね。
Pythonはシンプルに記述できるため、変な部分でエラーを起こしたりする心配が少な目なので、エラー連発で萎えてしまう恐れが減らせます。
以上のように、Pythonはプログラミング入門として入りやすく、その後も様々な場で活かせるので、オススメの言語となります。
勉強ルート
私なりの初心者向けPythonの学習ルートです。
Pythonは手軽に非常に多くのことができます。ここでは特に需要があると思う2つに的を絞って紹介します。
・Pythonで面倒な作業を自動化したい場合、①⇒②と進んでください。
・PythonでAI、機械学習を勉強したい場合、①⇒③と進んでください。
①Pythonを動かす環境を整えよう
Pythonでプログラミングできる環境を整えましょう。
エディタは何がいいとか色々こだわり始めたらきりがないです。
細かい説明はおいといて、とにかくAnacondaをインストールしてJupyter notebookが使えるようにしましょう!!
ちょっとだけ理由をいうと、Jupyter notebookはちょこちょこ中身を確認しながらプログラミングしていけるので、最後まで書ききったけど実は最初の方でミスってました、書き直し!っていう悲しいことになりづらいです。ここにもメリットなどが書いてあります。
Anacondaのインストールは以下のリンクからお願いします。
・Windows版のインストール
・MacOS版のインストール
インストールしたらAnacondaを実行してみてください。
いろいろなアイコンが出てくると思いますが、その中のJupyter notebookを実行すればOKです。
②Pythonで面倒な処理を自動化したい
普段の事務作業などで、きまったルーティン作業って結構多くないですか?
エクセルシートのちょっと値を変更してデータをまとまる、複数のエクセルやcsvから値を集計する、などそういったルーティン作業はPythonで自動化できます。
この場合、2冊の参考書をオススメします。
(1)実際に何ができるのか、どうやるのかを学ぶために、
「めんどうな作業が秒速で終わる! Excel×Python自動化の超基本」
(2)Pythonの基本を学ぶために、
「わかるPython」
★勉強方法
まずは(1)をさらっと見てみましょう。大事なのは、Pythonでどんなことができるのか、自分がやりたいことをマッチするところを見つけましょう。
そこで気になる箇所を重点的に学習していきましょう。
おそらくよく分からない単語が出てきます。そのときは(2)の参考書を手に取って必要な場所を勉強しましょう。この本は辞書代わりです。
はじめてプログラミングに取り掛かる方は、参考書のプログラムを自分のPCでも実行できることを目標にまずはやっていきましょう!
③AI、機械学習について勉強したい
最近で機械学習をやりたいという場合はPythonを使用する場合がかなり多いと思います。とはいえ、どういう風に勉強していけばいいのか分からない方も少なくないと思います。
その場合、以下の2冊をオススメします。
(1)具体例をもとに学んでいくために、
「Pythonで儲かるAIをつくる」
(2)Pythonの基本を学ぶために、
「わかるPython」
★勉強方法
(1)の内容を1個ずつ自分のPCで再現していきましょう。書道で写経というものがありますが、
プログラミングでも写経は十分効果があります。まずは「こんなことをしたいときは、こういう書き方をするのか」程度で良いので、マネして書いてみましょう。
やっていくうちに分からないことが出てきましたら、(2)で適宜知識を補いましょう。
正直、(1)は1周だけではなかなか難しいかもしれませんが、かなり良書だと思いますので強くオススメします!
その他の教材
●100本ノック
Pandasの演習にめちゃくちゃ良いと思います。
Pandasに関する初心者向けの演習問題100問です。これが無料だなんて本当に良い時代です。
「Python初学者のためのPandas100本ノック」
●Youtube
Pythonやプログラミ全般に関するオススメのYoutubeチェンネルを紹介します。
プログラムを使って何ができるのか、どうやればいいのかなど色々なイメージを持つのにとても良いと思います。
・エンジニアチェンネル
2名によるプログラミングに関するチャンネルです。
プログラミングでこんなことできるよーとか、プログラマーの働き方についてなどを紹介しています。
・キノコード
こちらもプログラミングでできることなどを紹介しています。
こちらはより具体的な例を紹介してくれています。
プログラミングスクールの活用
上記では勉強ルートを紹介してきましたが、プログラミング学習を完全独学はなかなか大変です。
自分ではしっかりコーディングしたつもりでも、いざ動かしてみたらエラーとなり、なにをどうしたらよいかわからない。。。こんなことも珍しくありません。
なにかあったとき、身近に聞ける人がいるかいないかで、成長速度は大きく変わります。
幸いなことに現代では、多くのプログラミングスクールがありますので、一人で勉強していくのは不安、ちょっと気になるという方は検討してみるのも手です。
無料体験がありますので、どうせ無料ですし試しにやってみるのはいかがでしょうか。
料金もそこまで高額ではないですし、スキルを身に着けたらその何倍にもなって帰ってくると思えば悪くないんじゃないかと思います。
まとめ
今回はプログラミング入門について、勉強ルートを紹介しました。
スキルを身に着けて業務効率化などに役立てましょう!
コメント