Pythonの独学ロードマップ【独学方法の経験談有り】

通路Python
スポンサーリンク
スポンサーリンク

「Pythonを学びたいけど何処から手を付けていいのかわかりません。学習方法、手順について知りたいです。」

「Pythonの独学にかかる時間はどのくらい?挫折しそうで心配。」

上記の疑問にお答えします。

これからPythonを学習する人に向けて、学習のステップや方法など、独学に必要な情報を分かりやすくお伝えします。

具体的に次のことについて解説します。

  • Pythonの独学ロードマップ(全6ステップ)
  • 私が独学で実際にやったこと

 

「偉そうに語るおまえは誰やねん。」と思われるので、私のことも少し。

私のプログラミング歴は約5年で、本職での開発経験はありませんが、一応、IT業界に身を置いています。

今でもPythonなど、独学でプログラミングを勉強しつつ、そのスキルを活かして仕事の効率化を図ったり、ゲームをつくったりしています。

私は社会人になってから、プログラミングをはじめました。この記事は、その経験をもとに書いています。

後半では、私が実際に行った勉強法もまとめましたので、参考にしてみてください。

プログラミングの経験がない方でも、ロードマップに沿って考え、手を動かせば、Pythonを身につけることができます。

この記事を読んでPythonの独学をはじめてみてください。

 

 

1.Pythonの独学ロードマップ(全6ステップ)

早速、Pythonを独学で進めるためのロードマップについて説明します。

ステップは全部で6ステップあります。

  1. 目的を明確にし、目標を設定する
  2. 学習の全体量を把握し、計画する
  3. 方法を考える
  4. 環境を準備する
  5. Pythonの基礎を学ぶ
  6. 学んだことを実践する

 

それぞれ見ていきましょう。

 

1.目的を明確にし、目標を設定する

突然ですが、あなたがPythonを学ぶ目的は何ですか?

学ぶ目的がイメージできない方は、先に『Pythonのメリットとデメリット【将来性についても解説】』をお読みください。

Pythonでつくれるもの・できることについて解説しています。

Pythonのメリットとデメリット【将来性についても解説】
Pythonのメリットとデメリットについて解説しています。Pythonを学ぶことで出来ること、エンジニアとしての将来性が、この記事で分かります。

 

Pythonで何がつくれるかなど、正しい情報が無いうちは学ぶ目的が見つかりません。

学ぶ目的がないと、Pythonに限らず、物事を前に進めるのは困難です。

特にプログラミング学習をする約9割の人は挫折するといわれています。

挫折する確率を減らすためにも、焦らず目的を明確にしましょう。

 

学ぶ目的ができた人は、それはどんなものですか?

  • 自己啓発、教養のひとつとして身につけたい。
  • 自分の業務に取り入れて、仕事で楽をしたい。
  • エンジニアとして就職、転職したい。

などなど、いろいろあると思います。

目的が明確になっていれば、あとは具体的に考え、どの学習に力を注ぐか決めればOKです。

「それが分からないんですけど。」と聞こえてきそうなので、先ほどの3つを例に考えます。

 

目的:例①自己啓発、教養のひとつとして身につけたい。

やりたいことの詳細学習対象やること
・プログラミングとは何かを知りたい。
・自分でもプログラミングを組んでみたい。
・Python入門・書籍やWebサイトの入門編をやってみる

 

目的:例②自分の業務に取り入れて、仕事で楽をしたい。

やりたいことの詳細学習対象やること
・ExcelやOffice系ソフトの作業を自動化したい。
・データ収集や分析を効率よくしたい。
・Webスクレイピング
・Office系ソフト操作
・データ分析
・Python基礎学習に加え、以下のライブラリについて学習する。
BeautifulSoup、Selenium
Openpyxl、glob
Pandas、Numpyなど

 

目的:例③エンジニアとして就職、転職したい。

やりたいことの詳細学習対象やること
Web開発に関わりたい。
・Web開発・Python基礎学習に加え、以下について学習する。
Djangoなどのフレームワーク、HTML/CSS、JavaScript、ポートフォリオ作成など

 

以上のように、やりたいことを具体的にすることで、やるべきことが見えてきます。

ここまでくれば、あとは「なにを」「どのレベルまで」「いつまでに」やるか目標設定しましょう。

現段階では「なにを」の部分が明確になったと思います。

「どのレベルまで」「いつまでに」を考えるためには、全体を把握しないといけません。

全体把握に必要な、Python習得にかかる学習時間や方法については、このあと説明します。

 

2.学習の全体量を把握し、計画する

独学でPython習得にかかる時間は次のとおりです。

学習内容必要な時間
基礎レベル約200時間
基礎+実務レベル約300~500時間

 

ご自身のスキル(パソコンに不慣れなど)や学ぶ領域によって、学習に必要な時間は変わってくると思います。

学習にねん出できる時間も人それぞれです。

なので、上記の数字をベースに、あなたがやりたいことに合わせて全体量を見積りましょう。

全体量は、サボる、イレギュラーな出来事が起こることを織り込み済みで考えたほうが、学習が継続しやすくなります。最終目標に対して余裕をもって見積もりましょう。

 

全体量を把握したら、計画を立てます。

計画するときには、「なにを」「どのレベルまで」「いつまでに」やるかを意識します。

このあたりは、社会人の方も学生の方も、仕事や受験勉強でやってきたことだと思うので、自然とできるかもしれません。

 

3.方法を考える

独学の方法はいろいろあるので、あなたに合った方法を選択しましょう。

ここでは次の2点について解説します。

  • 自分がどんなタイプか考えてみる
  • 無料/有料でできる学習内容の特徴

 

・自分がどんなタイプか考えてみる

あなたは「ひとりで黙々と学習したい。」タイプですか?

「同じ目的を持った人と交流・意見交換しながら学習したい。」タイプですか?

 

「ひとりで黙々と学習したい。」タイプの方は、まわりを気にせず自分のペースで学習したいという人ですね。

このタイプは、書籍やWebサイトを使う勉強法が合っていると思います。

 

「同じ目的を持った人と交流・意見交換しながら学習したい。」タイプの方は、書籍やWebサイトの他に、勉強会などコミュニティに参加することをおすすめします。

SNSやメディア上で見かけるオンラインコミュニティもあるので、信頼できそうなら参加を検討してみましょう。

学校や職場にある場合もあります。なければ、勉強会を自分で立ち上げるのもいいかもしれません。

勉強会やコミュニティの探し方については、『Python勉強会・もくもく会の見つけ方と活用方法』でまとめていますので、勉強仲間を見つけたい方は是非ご覧ください。

 

・無料/有料でできる学習内容の特徴

独学を選択する理由として、学習費用を安く抑えたいというのがあると思います。

そこで無料学習と有料学習の特徴について整理しつつ、特徴を解説します。

 

無料学習の方法

  • Webサイト
  • Webサービス(大抵は入門講座のみ)
  • 本(図書館を利用)

 

ここでいうWebサイトは、個人や教育機関が運営しているサイトやYouTubeを指しています。

「Python 入門」で検索するとたくさん出てくると思います。

コンテンツの内容の良し悪しは置いといて、無料で提供されているコンテンツがほとんどです。

学習の仕方は、コンテンツの講義を受けつつ、サンプルコードを自分で実行するスタイルになります。

Webサイトの場合は、入門編と言いつつも、公開されている学習内容が広く深いので、私たちで必要な情報を取捨選択しなければなりません。

分からないことが多い初心者では、調べてばかりで求める情報が手に入らず、苦労することが多いことは覚えておいて下さい。

 

一方、ここでいうWebサービスとは、Progateやpaizaなどに代表されるようなプログラミング学習サービスのことを指しています。

Progateやpaizaなどは、Pythonの入門講座を無料で開放しているので、コストをかけずに学習することができます。

学習方法はWebサービスごとに多少違うものの、講義のあとに練習問題や演習問題でコーディングと実行するやり方です。

前出のWebサイトと違うのは、学習範囲が定まっているので、「何から学べばいいのか分からない」状態を回避し、集中して学習することができます。

 

代表的なWebサービスの特徴については『【Python】初心者に無料で学習できるサイトpaizaをおすすめする理由』が参考になると思います。

興味ある方はご覧ください。

Python初心者に無料学習できるサイトpaizaをおすすめする理由【Progate他と比較】
Pythonを無料で学びたい方に向けて、代表的なサイトである「paiza」「Progate」「ドットインストール」の特徴を解説。paizaがおすすめである理由もお伝えしています。

 

本の場合は、図書館を利用すれば無料で学習できます。

ただ、ネックなのは、地域によって蔵書の豊富さが違うのと、2週間から1か月程度で返却しないといけないところです。

「入門書を借りて1か月以内で書かれていることをやりきる。」という使い方はできるかもしれません。

 

ざっと、無料学習の特徴を考えてきました。

いずれにしても無料で学習する場合は、なんでもかんでも自力で解決する必要があるので、有料の方法と比較すると効率は悪くなります。

また、Webサービスが無料公開している講座は、入門講座のみの場合がほとんどで、学習可能な領域が限定的であったり、偏ったりします。

 

有料学習の方法

  • Webサービス

有料で学ぶ方法として、代表的なのがWebサービスと本です。

有料学習のメリットは、単純に選択肢が増えることと、自分のレベルや興味に合わせて自由に選ぶことができる点にあります。

例えば、本の場合、「初心者向け」や「入門書」と一口にいっても様々な種類の本があります。

その中から、店頭で本をパラパラ流し読みしてもいいですし、今ならWebサイト上で試し読みもできます。

中身を確認して「図解が分かりやすい。」とか「自分が知りたいことが、広くカバーされている。」とか自分の好みで選ぶことができます。

 

Webサービスも、あなたの必要に合わせて、学習内容を選択することができます。

具体的には、Progatepaizaの場合、有料会員は講義が受け放題です。

特定の分野で「網羅的に知識を身につけたい。」場合は、関係ありそうな講義を片っ端から受けることができます。

また、特定の分野を「掘り下げて学びたい。」場合は、Udemyなどの買い切り型コンテンツを利用することで、興味があることだけを学ぶいいとこ取りの学習ができます。

Udemyについて、詳しく知りたい方は『Python独学におすすめなUdemyとは?【講座の選び方&使い方を解説】』が参考になると思います。

ぜひご覧ください。

 

一方で、有料で学ぶ方法のデメリットは、「値段に見合わない場合がある。」ことです。

買い切り型コンテンツでよくあることですが、「専門的な情報が欲しかったのに、初心者向けの内容だった。」など、ミスマッチが起こるので注意が必要です。

ミスマッチを回避するためには、口コミや体験談などをチェックしたり、できるだけ現物に触れることくらいしか方法がありませんが、極力、自分のイメージとのすり合わせを行いましょう。

 

ここまで、無料学習と有料学習の特徴について解説しました。

まとめると、

  • WebサイトやWebサービス、本で無料学習する方法がある
  • ただ、無料学習は比較的、効率が悪くなりがち
  • 無料学習は、学習可能な領域が限定的で、偏りがある
  • 有料学習は、自分のレベルや興味に合わせて自由に選ぶことができる
  • ただ、有料学習は学習内容が値段に見合わない場合があるので注意

こんな感じです。

仕事ですぐ必要だったり、数か月後にエンジニア転職するといった、一定期間内に結果が求めれる状況でなければ、無料学習だけでもOKだと思います。

有料学習は中身をしっかり吟味して判断できれば、専門的な学習を効率よく受けられるので、お財布と相談して取り入れたいところです。

どちらか一辺倒というよりは、無料と有料の両方を上手に使いながら学習を進めていきましょう。

 

4.環境を準備する

Pythonを学ぶ、目的・計画・方法の整理がついたら、学ぶ環境を整えましょう。

パソコンは、めちゃくちゃハイスペックなものが必要かというと、そうでもないです。

街の家電量販店で売っているようなパソコンで、プログラミングはできます。

MacでもWindowsでも大丈夫です。

パソコンが手元にある方は、Pythonをインストールしましょう。

インストール方法は『Python3のインストール方法【導入は10分で完了!】』を参考に、インストールしてみてください。

Python3のインストール方法【導入は10分で完了!】
Python3のインストール方法についてステップバイステップで説明しています。この記事に沿って手を動かしてもらえれば、迷うことなくインストールができます。

 

また、様々な事情でインストールできない、したくない方は『【Python】ブラウザからオンラインでプログラミングする方法』を参考にしてみてください。

【Python】ブラウザからオンラインでプログラミングする方法
Pythonをブラウザ上からオンラインでプログラミング&実行する方法を説明しています。様々な事情でパソコンにPythonをインストールできない方・したくない方におすすめです。

 

5.Pythonの基礎を学ぶ

ここまで準備ができたら、いざ学習開始です。

まずは基礎的な文法に取り組みましょう。

「基礎ってどこからどこまで?」と思われるので、範囲を書いておきます。

 

Pythonの概要/文法/文字列/変数/四則演算/データ型/条件分岐/ループ処理/リスト/辞書/関数/クラス/例外処理

 

上記が理解できれば、簡単なアプリなどはつくれるようになります。

このあたりの知識が身につけば、分からないことが出てきても調べつつ、自走することができます。

 

6.学んだことを実践する

基礎学習がひととおり終われば、あなたのやりたいことに向けて、少しずつ知識や経験を積み上げていきましょう。

例えば、業務の自動化を考えている方は、すでに実践されているWebサイトを見て、使用しているライブラリやコードを参考に、自分でソースコードを書いてみるといいでしょう。

最後は精神論みたいになりますが、自分のレベルを把握しつつ、根気よくちょっと上のレベルに挑戦し、手を動かし続けることが重要です。

 

2.私が独学で実際にやったこと

最後に、ここまで説明したPythonの独学ステップに沿って、私が実際にやったことを説明します。

これが正解ではもちろんないです。

進め方でお悩みの方は参考にしてください。

 

1.目的を明確にし、目標を設定する

私がPythonを学習するきっかけは、仕事で必要になったのが理由ですが、自分事として取り組むようになったのは、趣味である競馬の情報収集を効率よくやるためでした。

なので、次のように目的を設定し、やるべきことを整理しました。

 

目的:競馬の情報収集を効率化

やりたいことの詳細学習対象やること
・Webサイトからの情報収集を自動化したい。
・データ分析を自動化したい。
・Webスクレイピング
・Office系ソフト操作
・データ分析
・Python基礎学習に加え、以下のライブラリについて学習する。
BeautifulSoup、Openpyxl、glob、Pandasなど

 

2.学習の全体量を把握し、計画する

当時は今ほど情報が充実してなかったので、全体量を見積もるために次のことをしました。

  1. 参考になりそうなサイト、書籍を探す
  2. サイトや書籍から必要なところをピックアップする
  3. とりあえず一週間の学習内容を計測&記録する
  4. 計測&記録から月にどれくらい学習時間が取れるか算出する
  5. 計測&記録からやるべきことの全体量と時間を仮定する

 

プログラミングは未経験だったので、「時間がかかるだろう。」ということと、趣味でやっていることなので、「別に急がなくていいか。」というマインドで計画しました。

項目時間月換算(最長)
月の学習時間40~60時間
基礎学習180時間4.5か月
Webスクレイピング
(BeautifulSoup、HTML/CSS)
40時間1か月
Office系ソフト操作、データ分析
(Openpyxl、glob、Pandas)
80時間2か月
全体量300時間7.5か月
設定項目内容
学習期間1年
最終目標年末の有馬記念までに、プロトタイプ(とりあえず動くもの)を用意する。

 

実際は、もう少し細かく「なにを」「どのレベルまで」「いつまでに」を決めていましたが、長くなりそうなので、概要だけでお許しください。

 

3.方法を考える

私の場合は、Webサイトと書籍をよく利用していました。

YouTubeやプログラミング学習サービスが盛り上がる前の時代だったので、この方法です。

なので、

基礎学習:書籍やひとつのWebサイトから必要な文法やテーマを選んで学習
上記以外の学習:書籍で方法論を押さえる。やりたいことは、ググってWebサイトを渡り歩く

という、今考えるとあまり効率の良くない方法で学習していました。

おかげさまで技術書を読む力やググる能力がつきましたが。

 

私が今やるとしたら次の方法を選択すると思います。

基礎学習:paizaの「Python3入門編」を一通りやる
上記以外の学習: Udemyを活用する

 

paizaやUdemyの良いところは、必要な情報が整理されて、まとまっているところです。

個人のWebサイトも情報は整理されていますが、十分かどうかは不安になります。

書籍も整理されまとまっていますが、動きが把握しにくいのが難点です。

私自身、paizaやUdemyにもっと早く出会っていれば、効率よく学習が進められていたと思います。

みなさまには後悔してほしくないので、これから独学する方は次の記事を一読することをおすすめします。

Python独学におすすめなUdemyとは?【講座の選び方&使い方を解説】
Pythonの学習でUdemy(ユーデミー)を使おうか悩んでいる方に向けて、おすすめの理由や講座の選び方&使い方を解説しています。この記事を読めばあなたに合った講座を選ぶことができるようになります。
Python初心者に無料学習できるサイトpaizaをおすすめする理由【Progate他と比較】
Pythonを無料で学びたい方に向けて、代表的なサイトである「paiza」「Progate」「ドットインストール」の特徴を解説。paizaがおすすめである理由もお伝えしています。

 

4.環境を準備する

私が使用しているパソコンは、次のようなスペックです。

まあまあ古いですが今も問題なく使えるので、このくらいのスペックでもプログラミング学習には十分だと思います。

項目内容
OSWindows10
CPUIntel(R) Core(TM) i7-3632QM CPU @ 2.20GHz 2.20 GHz
メモリ8GB
ストレージSSD、500GB

 

開発環境は、最初はメモ帳とコマンドプロンプトでやっていましたが、コーディングがしづらいので、VSCodeを使うようになりました。

VSCodeは、インテリセンスだけでなく、自分がコーディングしやすいようにカスタマイズできるのがいいです。

VSCodeを使うメリットや環境構築の方法は『【Python×VSCode】初心者でも分かる環境構築の方法と導入メリットを解説』でまとめてあるので、興味のある方はご覧ください。

【Python×VSCode】初心者でも分かる環境構築の方法と導入メリットを解説
Pythonの開発環境として、VSCodeを使用するメリットと設定方法について分かりやすく解説しています。プログラミング学習を始めたばかりの方や開発環境にお悩みの方はぜひ一読ください。

 

5.Pythonの基礎を学ぶ

基礎学習は、Webサイトと書籍から次の部分を見つけ出し、学習しました。

Pythonの概要/文法/文字列/変数/四則演算/データ型/条件分岐/ループ処理/リスト/辞書/関数/クラス/例外処理

 

学習方法は、Webサイトと書籍の解説に目を通し、記載されているサンプルコードを写経して実行することを繰り返していました。

このとき気を付けたのは、コード内容から動きをイメージすることを意識していました。

テスト勉強ではないので、Webサイトと書籍の解説やサンプルコードを、そのまま覚えるということは意識せず、必要な時に知識として引き出せるように取り組んだほうがいいと思います。

 

6.学んだことを実践する

Pythonの基礎学習に見通しが立つと、自分がやりたいことを実現するために、必要な知識や仕組みを考えつつ、専門的な領域にも挑戦しました。

いわゆる初心者と呼ばれる段階から、Python中級者へ向けてステップアップする時期です。

Python中級者に向けて必要な学習方法や教材は、『【めざせ中級者】独学でPython初心者からレベルアップする方法』にまとめました。

具体的には、次のことを解説しています。

  • Python中級者に必要なこと
  • 教材ごとの特徴
  • 挫折しない勉強法
  • 分野別のおすすめ教材

 

Python中級者になるためには、入門編の課題を繰り返し解くことではなく、モノ作りを実践することです。

モノを作る過程で、残念ながらPythonだけ理解すればいいわけではないことが分かってきます。

そのあたりの、Python中級者に必要な知識を習得する方法&教材をまとめていますので、是非ご覧ください。

【めざせ中級者】独学でPython初心者からレベルアップする方法
Pythonの入門レベルを終えた方に向けて、中級者になるための学習方法や適した教材を紹介しています。Python中級者になるにはモノ作りは必須です。この記事を読んで中級者を目指しましょう。

 

3.まとめ

以上、Pythonの独学ロードマップついてお伝えしました。

内容をまとめると次のとおりです。

 

Pythonを独学するステップ

  1. 目的を明確にし、目標を設定する
  2. 学習の全体量を把握し、計画する
  3. 方法を考える
  4. 環境を準備する
  5. Pythonの基礎を学ぶ
  6. 学んだことを実践する

 

実際に私も上記を実践して、自分がつくりたいものをつくれるようになりました。

一つできるようになったことが自信になり、今でも試行錯誤しながらPythonを楽しんでいます。

この記事を参考にしつつ、あなたも目的に向かって進んでもらえれば嬉しいです。

 

ご清聴ありがとうございました。