こんにちは。TATです。
今回のテーマは「Python独学ロードマップ」です。
Pythonを勉強したいけど、
- 何から始めればいいのかわからない。。。
- どこを抑えればいいのかわからない。。。
- どうやって勉強すればいいのかわからない。。。
- 挫折した過去がある。。。
- 挫折する自信がある。。。
上記のような悩みを持っている方に対して、Pythonの独学ロードマップを提案します。
本記事の信憑性
僕自身も社会人になってから独学でPythonを習得しているので、自分の経験を踏まえつつまとめていければと思います。
Pythonの独学を始める前に!
まずは独学を開始する前に確認しておきたいことをまとめておきます。
目的とか学習方法とか独学に必要なものをまとめます。
独学の目的を設定する
Pythonの独学を開始する前に、まずはきちんと独学の目的を設定することを強くお勧めします。
しっかりとした目的があれば挫折しない!
Pythonを独学する明確な目的を持っていると途中で挫折する確率が大きく下がります。
Pythonに限らず、プログラミングの独学は容易ではありません。
特に独学初期はわからないことが多くてつらいです。(僕も経験済みw)
わからないことが多すぎて何がわからないのかわからない状態になります。
こういった状況でもへこたれずに継続するためには、プログラミングを学ぶ目的意識が大事になってきます。
日々の学習の中で、「今日学んだことはあの場面で活用できるな〜」とか目的に向かって進んでいるイメージが掴めると学習が楽しく感じられて継続できます。
関連記事: 【挫折しないために!】プログラミングを学習するためには目的意識が重要!途中で挫折する人の特徴とは?
目的がはっきりしていると学習を効率化できる!
きちんとした目的があると効率よく学習を進めることも可能です。
目的が定まっていれば、必要な分野とそうでない分野を見極めることができるので、目的達成のために必要な部分を優先して学習を進めれば、結果として最速で効率的に学習を進めることができます。
明確な目的を持っていないと、とりあえず片っ端から全部学ぶことになります。
もちろんこれでも独学は可能ですが、途中で挫折する確率は高くなります。
特にプログラミング学習そのものが目的化してしまうと危ないです。
参考記事: プログラミングは目的ではなくて手段である【目的化してしまうと危険です】
【経験談】僕がプログラミングを学んだきっかけ
ここから僕の経験談を少しご紹介できればと思います。
僕がPythonを独学したいと思ったきっかけは「株式投資に必要な情報を自動収集・分析したい」と思ったことでした。
結果として、スクレイピングやデータ分析に強いPythonを選択し、目的達成に必要なデータ分析やスクレイピング周りを優先して勉強しました。
当時必要なかった機械学習などの項目は全てスキップしていました。
結果として、自分に必要な部分だけを集中して効率的に学習することができました。
そして何より、日々の学習の中で「これは〇〇に使えるな〜」と応用方法を意識しながら学習できたので、毎日の勉強がとても楽しくて、挫折することなく継続することができました。
独学の方法を決める
目的ともう1つ、独学を始める前に決めるべき重要なポイントがあります。
それが独学の方法を決めることです。
つまり、どうやって日々の学習を進めていくかを決めることです。
人によって最適な学習法は異なる
独学と言ってもやり方はいろいろあります。
本を買って勉強する人もいれば、プログラミングが学習できるWEBサイトを利用する方もいます。
どの勉強方法がベストということはなくて、人によって最適な学習方法は異なります。
自分に合った学習方法を見つけることも、挫折せずに継続するために必要な要素の1つです。
万人に合う学習方法など存在しません。
いろいろ試しつつ、ベストな学習方法を見つけることが重要です。
学習法をまとめました
Pythonの学習方法については過去の記事でもまとめています。
ざっくりまとめると学習法は4通りがあります。
Python学習法
- 書籍を購入する
- プログラミングが学べるウェブサイトを利用する
- 動画学習サイトを利用する
- プログラミングスクールを利用する
どれがベストというわけではなく、自分にとって最適な学習方法を見つけていただければと思います。
もし合わないと感じたら別のやり方を試すのもありです。
関連記事: 【これから学ぶ方へ】Pythonのおすすめ勉強法をまとめます!
【経験談】僕はUdemyで独学しました
ここでまた僕の経験談を少し共有します。
結論、僕の場合は、Udemyで独学しました。
上記の4つの方法でいうところの「動画学習サイトを利用する」に該当します。
Udemyにたどり着く前には、書籍を購入したりWEBサイトを利用したりプログラミングスクールの無料レッスンを受けたり、いろいろと試しましたが結局どれも挫折しました。
最終的にたどり着いたのがUdemyです。
動画解説なので、WEBサイトや書籍よりもわかりやすく、プログラミングスクールより低価格なのが特徴です。
僕の場合、Udemyという自分に合った学習教材と学習方法を見つけることができたことが独学を成功できた理由の1つだと思っています。
関連記事: プログラミングの独学にUdemyをおすすめする理由!
関連記事: 【目的別】Pythonが学べるUdemyのおすすめコースを紹介します
必要なものを揃える
目的と学習法が決まれば、あとは学習に必要なものを揃えるとすぐに学習を開始することができます。
とりあえずPCだけあればOKです
必要なものといっても、基本的にはパソコン1台あればOKです。
あとは学習に必要な教材を購入するなりすればすぐに学習を開始できます。
個人的には、Udemyや学習サイトを利用するならセカンドモニターがあると便利です。
1つの画面でプログラミング、もう1つの画面で学習用のサイトを表示しておくと学習がスムーズに進みます。
セカンドモニターでなくても、iPadとかで表示させながら学習を進めるとかもありですね。
最近はモニターも安いです。
Macがおすすめですが、基本的にはなんでもOK!
そしてプログラミングを学習する際によく聞かれる質問がこちらです。
「どのパソコンがおすすめですか???」
個人的にはMacがおすすめです。
理由としては次の通り。
Macをおすすめする理由
- Linux系のOSなのでプログラミングと相性がいい
- トラックパッドが神!
- 環境構築が簡単
- 高性能
- おしゃれ
特にトラックパッドになれたら2度とWindowsには戻れなくなります。
画面の切り替えも一瞬です。
先ほどセカンドモニターがあると便利と言いましたが、Macなら画面の切り替えは一瞬なので、画面1つでもわりと快適に学習を進めることができます。
ただ、Mac最大のデメリットが値段です。高いです。
僕はMac Book Proを使っていますが、18万円くらいしました。。。
Amazonで買うと少し安いものもありますが、それでも最低10万円くらいにはなってしまいます。
ゆえに、初期投資が厳しいという方は無理してMacを買う必要はないです。
WindowsでもPythonは利用できるので問題なしです。
すでにWindowsのパソコンを持っている方もわざわざ買い直す必要はありません。
最低限のスペックさえあれば、WindowsでもMacでも快適に動きます。
よってお好きなPCを用意していただければと思います。
【決定版】Python独学ロードマップ
独学の目的や学習方法が決まったら、早速独学を進めていきましょう。
ここからは独学で必要なステップを解説していきます。
ステップ1: 環境構築
Pythonの独学を開始するにあたって、最初に必要になるのが環境構築です。
Pythonをインストール
具体的には、Pythonのインストールが必要です。
Pythonにはバーション2とバージョン3がありますが、これから学ぶ方は間違いなくバージョン3をお勧めします。
Jupyter Notebookをインストール
PythonをインストールしたらJypyter Notebookをインストールしましょう。
Jypyter Notebookを使うと、プログラムを部分的に実行して結果を確認しながら学習を進めることができます。
インタラクティブにプログラムを実行できるのでとても便利です。
ほとんどの教材ではJupyter Notebookを利用しているのでPythonとセットでインストールするようにしましょう。
"pip install jupyter"でインストールできます。
データ分析をするならAnacondaをインストールすると便利
また、データ分析をするならAnacondaが便利です。
Anacondaをインストールすると、Pythonはもちろん、データ分析でよく利用されるライブラリもまとめてインストールされるので環境構築が一瞬で終わります。
Jupyter Notebookのインストールもまとめて行われます。
特にこだわりがないのであれば、Anacondaがおすすめです。
ステップ2:基礎的な文法を習得する
環境構築が完了したら、いよいよ独学開始です。
まずは超基本的な文法から!
最初に学ぶべき内容は、超基本的な文法です。
ここができないと何もできないので誰もが学ばなければなりません。
最低限学ぶべき内容はざっくりこんなところかと思います。
Python基礎文法
- 変数
- データ型
- 文字列
- 整数
- 浮動小数点数
- ブール値
- データ構造
- リスト
- 辞書
- タプル
- 集合
- if文
- 繰り返し処理
- forループ
- whileループ
- 関数
- クラス
この他にもいろいろありますが、まず初心者の方が最低限抑えるべき点は、上記の内容かと思います。
ここまでの基礎文法がわかるとだいぶ学び慣れてきていると思うので、新しい文法が出てきても問題なく理解できると思います。
ここで挫折したら勉強方法を見直すのもあり!
この基礎文法を学ぶ段階で挫折したら、ちょっと別の学習方法を考えるなど対策が必要かもしれません。
前述の通り、ベストな学習方法は人によってそれぞれです。
いろいろな方法を試しつつ、ベストな方法を見つけてください。
1つの方法だけで諦めてしまうのはもったいないです。
関連記事: 【これから学ぶ方へ】Pythonのおすすめ勉強法をまとめます!
ステップ3:専門領域を学ぶ
基礎文法を学んだら、次にやるべきは専門領域を学ぶことです。
Pythonでできることは多い
Pythonは、結構万能な言語でいろいろなことができます。
詳細はこちらの記事にまとめておりますが、できることをざっくりまとめると次の通りになります。
Pythonでできること
- 機械学習などのAIモデルの開発・実装
- データの収集・分析・可視化
- WEBサービス・WEBアプリケーション
- 自然言語処理
- 業務の効率化・自動化 など
関連記事: 【人気上昇中】今人気のプログラミング言語「Python」は何ができるのか?できることまとめます【転職でも有利です】
専門領域によって学ぶべき内容は異なる
学びたい領域によって学ぶべき内容は異なります。
キーになるものをまとめておきます。
専門領域ごとの学ぶべきポイント
機械学習などのAIモデルの開発・実装
→ scikit-learn、tensorflowなど
データの収集・分析・可視化
→ requests、Pandas、Numpy、Matplotlib、Seabornなど
WEBサービス・WEBアプリケーション
→ Flask、Djangoなど
自然言語処理
→ spaCy、GiNZA、Mecabなど
業務の効率化・自動化
→ Pandas、requests、bs4など
上記の通り、領域によって学ぶべき内容は全く異なります。
ご自身の目的に合わせて学ぶべきポイントをあぶり出して、効率的に学ぶようにしましょう。
ステップ4:ひたすら実践経験を積む
ステップ3まで完了したら、知識の習得までは大体OKな状態になっています。
ここからすべきことはひたすら実戦経験を積むことです。
ステップ3までだと、教科書の例題とかを解いただけみたいな状況なので、実戦的な知識や経験は不十分です。
ゆえにここからは応用問題をひたすら解いていくことが重要になります。
ここからは経験の多さが武器になります。
実戦経験を積む方法は様々です
実戦経験を積む方法はいろいろあります。例えばこんな感じ。
- Kaggleでコンペに挑戦する
- Kaggleで人のコードをひたすらパクる
- 自分用のプログラムを開発する
- クラウドワークスなどで簡単な案件を取ってみる
- 仕事で使ってみる
- Pythonが使える仕事に転職する
いろいろありますが、後半3つは少しハードルが高いかもしれないですね。
チャレンジングな職場なら仕事で少し使ってみるとかもありです。
既存の業務を自動化してみたり、できることを探すとわりと見つかります。
また、自分で何か作りたいプログラムがあれば是非とも作ってみましょう。
事故っても他の人に迷惑はかからない範囲で試してみるのがおすすめです。
Kaggleは独学の教材におすすめ!
「特にないな」という方にはKaggleのコンペにチャレンジするのもおすすめです。
Kaggleはデータ分析などのコンペを運営しているサイトです。
優勝者には賞金が出たり主催会社の面接を受ける権利などが得られます。
「参加は怖い」という方には、Kaggleで人のコードをパクるのもありです。
Kaggleは、参加者が投稿したコードを誰でもみることができます。
どのように分析しているのか、分析の流れやコードの書き方を見ることはとても勉強になります。
関連記事: 【経験談】Kaggleは意味ないと言われるけど?→ データ分析を勉強するには最適な環境です
実践すると多くの壁にぶち当たります
そして、ここで積む実践では多くの壁にぶち当たります。
やはり、教科書で学ぶことと、世の中で実際に使うことでは必要になってくるものが変わってきます。
基本的に思い通りに進みません(涙)
実践で経験を積む際に大事なことは、こういった壁になるべく多くぶち当たってそれを乗り越えることです。
この経験を多く積むことで、プログラミングに必要な知識が身につき、なおかち壁にぶち当たった際にも自分で解決できる能力が強化されていきます。
この自己解決能力こそが、エンジニアとして活躍するために最も重要なスキルの1つです。
あとは自由に突き進むのみ
多くの実務経験を積んで、自らさまざまなプログラムを作り上げることができるようになれば、仕事でも十分に活用できるようになります。
転職も可能でしょうし、たくさんの選択肢が出てきます。
ご自身の目標や目的に向かって、突き進んでいっていただけたらと思います。
【経験談】僕は株のスクリーニング用のプログラム開発からはじめました
最後に僕の経験談を少しご共有できればと思います。
前述の通り、僕がPythonを独学しようと思ったきっかけは、「株式投資に必要な情報を自動収集・分析したい」との思いからでした。
金儲けしたいという下心丸出しの動機ですw
よって、基礎文法を学んだ後は、データ収集に必要なスクレイピング、分析や可視化に必要なPandasやMatplotlibなどを中心に学びました。
一通り学んだ後には、早速自分のプログラムを作ってみることにしました。
最初に作ったのは、株のスクリーニングをするためのプログラムです。
WEBから情報を収集して、条件にマッチした銘柄をリストアップできるシンプルなプログラムです。
それでも自分でプログラムを作るとなるといろいろな学びがあります。
プログラムのロジックを考える部分から始まり、わからないことがあれば自分で調べて解決しながら進めます。
最初のうちは特に苦労しますが、ここでの経験はとても重要です。
この苦労の中で、効率的なググり方が身についたり、役に立ちそうなサイトが見つかったり、効率的にプログラム開発を進められるスキルが身についていきます。
ここで作ったプログラムは、今見返すとめちゃめちゃ汚いコードですが、大事にとってありますw
思い出です。
その後も独学を継続して、今では株式投資に必要な情報をWEB上で管理するために「投資でニート生活」というサイトを運営するになりました。
転職にも成功して年収も大幅にアップして、Pythonを独学して大きく人生が変わりました。
独学は決して容易なことではありませんが、得られるものも多いです。
もし独学するかを迷っている方は是非ともトライしてみてください。
関連記事: 【実体験】ゼロからのPython独学を決意してから転職を掴み取るまでのお話。
FAQ
Pythonの独学ロードマップの解説は以上になります。
ここまでは、僕がよく聞かれる質問とかについて紹介しておきます。
Pythonの独学を検討している方の参考になれば嬉しいです。
Q1:独学にかかる時間はどれくらいか?
まず独学するにあたってよく聞かれるのは、「どれくらいの時間を要するのか?」ということです。
Pythonを独学したいです。どれくらいの時間が必要になりますか???
これについては、僕自身の経験に基づいてこちらの記事でまとめています。
習得するという定義にはいろいろあると思いますが、この記事で紹介しているものを抜粋しておくと以下の通りになります。
- 基礎文法を理解する → 50時間くらい
- 自分でプログラムが書けるようになる → 50時間くらい(基礎文法が理解できたら始められます)
- 仕事で使えるレベルになる → 200時間くらい(基礎文法理解+何か自分でサービスをいくつか作る)
- 履歴書に書けるレベルになる → 200時間くらい(基礎文法理解+何か自分でサービスをいくつか作る)
- 副業案件が取れるレベルになる → 100時間くらい(基礎文法理解+何か自分でサービスを作る 最悪ググりまくればいける)
- 世界のトップエンジニアと肩を並べられるようになる → 永遠に無理(常に勉強していないと追いつけないので、習得するとか無理ですw)
- などなど
あくまで、僕がPythonを独学した経験を基にした数字なので、誰にでも当てはまるというわけではありません。
これよりも早く学べる方もいれば、もう少し時間がかかるという方もいると思います。
1つの参考値としてみていただければと思います。
Q2: 独学するかどうか迷っている
よく聞かれるもう1つの質問が「独学をするかどうか悩んでいる」といった内容のものです。
Pythonを独学しようか迷っています。。。でも自分にできるか不安です。
こういった類の質問もかなり多くて、僕からの答えは常に同じです。
もし興味があるならまずは是非ともやってみてください!!!
うまくできるかどうかはやってみないことにはわかりません。
よって、やる前に悩む必要はないです。
まずはやってみて、そこから判断した方が良いと思います。
基本的にPythonの独学に大金は必要ありません。
書籍やUdemyなら数千円から始められます。
ゆえに挫折したところでノーダメージです。
プログラミングスクールは高額ですが、無料レッスンを受けて様子を見た上で判断することができるので、ここにお金はかかりません。
どちらかといえば、やるかやらないかで悩んでいる時間の方がもったいないです。
まずやってみて、それで合わないならスッキリします。
興味があれば、是非ともまずはトライしてみましょう。
Q3: 独学に挑戦しましたが挫折しました。。。
独学に挫折してしまった方はいくつかのアプローチが考えられます。
学習方法を見直す
1つ目のアプローチは、勉強方法をもう一度見つめ直してみることです。
もしかしたら、あなたが選んだ学習方法が合わなかっただけかもしれません。
実際に僕自身も、最初にPythonを独学した際には書籍を購入して始めました。
そして挫折し、次にプログラミング学習サイトを利用しましたがこれも挫折しました。
こうしていろいろな学習法を試しているうちにたどり着いたのがUdemyです。
「自分に合ってる」と感じた時から独学が継続できるようになりました。
僕の経験から言えることは、最初にやった勉強方法が自分に最適であるとは限らないということです。
こればかりは実際にやってみてから判断するしかありません。
よって、1つの学習法で挫折しても、すぐに諦めずにいろいろな方法を試してみることをお勧めします。
最終的に自分に合った学習方法がわかれば、今後の人生でも大いに役立ちます。
独学の目的を考える
2つ目のアプローチは独学の目的を考えることです。
目的設定の重要さについては前述の通りですが、挫折しそうになっている時には、この目的を今一度考えてみることも有効です。
プログラミング学習は目的ではなく手段です。
アプリを作るため、機械学習エンジニアになるため、株の情報収集を行うため、いろいろな目的がまずあって、これを実現するための手段としてプログラミングが必要になってきます。
独学をしているうちにプログラミングを学習すること自体が目的になってしまう人は結構います。
こうなると、何のために勉強しているのかがわからなくなりモチベーションも維持しにくくなります。
モチベーションが続かないなら、もう一度独学する目的について考え直してみるといいかもです。
人間がモチベーションを維持するためのコツは「日々の前進が感じられる環境にいる」ことです。
目的を明確にして毎日の学習で自身の成長や目的に近づいていることを実感することができれば、モチベーションは維持しやすくなります。
プログラミングスクールも選択肢としてはあり!
3つ目のアプローチはプログラミングスクールです。
これはもはや最後の手段です。
そのうえで、どうしても独学がつらい、挫折したしまったという方にはプログラミングスクールも検討の余地があります。
プログラミングスクールはデメリットとしては高額な料金が挙げられますが、その代わりに多くのメリットがあります。
プログラミングスクールのメリット
- いつでも講師に質問できる環境
- オリジナルの教材が利用できる
- 転職のサポートが受けられる
- マンツーマンレッスンが受けられる など
基本的に、プログラミングスクールでは、受講者が途中で挫折しないようにさまざまな工夫がなされています。
いつでも講師に質問できる環境だったり、スクールオリジナルの教材が利用できたり、初心者には至れり尽くせりの環境が整っています。
独学で挫折する大きな要因の1つが、わからないことが出てきたときに自己解決できずにそのまま諦めてしまうことです。
プログラミングスクールなら、いつでも講師に質問できる環境で勉強できるので、わからないことがあればすぐに質問して速やかに解決することができます。
結果として効率的に学習を進めることができ途中で挫折する確率が下がります。
ただし決して安くないので、まずは無料レッスンを受けるなどして、そのプログラミングスクールが自分に合っているのかを確認した上で判断した方が良いです。
スクールによって特徴は全く異なるので、最適な勉強方法が個人によって変わるように、プログラミングスクールも人によって相性は変わってきます。
例えば、SAMURAI TERAKOYAならサブスク料金で他社に比べてリーズナブルな料金で利用できますし、キカガクならPythonだけでなくAIの基礎から学ぶこともできます。
自分に合いそうなスクールを探しつつ、入会前に無料体験レッスンを受けるなりして、本当に自分に合っているのか確認したうえで入会することをおすすめします。
Pythonが学べるプログラミングスクールについては、簡単な特徴とともにこちらの記事でご紹介していますのでご参照ください。
関連記事: 【厳選4つ】Pythonでデータ分析・データサイエンスが学べるおすすめのプログラミングスクール
まとめ
本記事では、Pythonを独学するためのロードマップを提案させていただきました。
僕自身も社会人になってからPythonを独学したので、この経験も取り入れつつまとめました。
これからPythonの独学をしようと思っている方や、すでにされている方の参考に少しでもなれば嬉しいです。
僕はPythonを独学して大きく人生が変わりました。
転職にも成功して年収も大幅にUpしました。
今では仕事ではPythonをバリバリ使うようになっています。
もし、Pythonに少しでも興味があるという方は、是非ともトライしてみてください。
僕のように人生が大きく変わるかもしれません。
ここまで読んでくださってありがとうございました。