
「入門レベルの実力は付いたと思います。次に何をしたらいいですか?」

「脱初心者に向けておすすめの学習方法や教材があれば知りたい。」
上記の疑問にお答えします。
Python入門レベルの学習を終えて、次のステップへ進みたい方に向けて、この記事を書いています。
私の独学経験をもとに、初心者からレベルアップする方法を解説するので、この記事を読めば、Python中級者になるための学習方法や適した教材が分かります。
具体的には、次のことを解説します。
- この記事におけるPython中級者の定義
- Python中級者に必要なこと
- 教材ごとの特徴
- 挫折しない勉強法
- 分野別のおすすめ教材
「偉そうに語るおまえは誰やねん。」と思われるので、私のことも少し。
私のプログラミング歴は約5年で、本職での開発経験はありませんが、一応、IT業界に身を置いています。
今でもPythonなど、独学でプログラミングを勉強しつつ、そのスキルを活かして仕事の効率化を図ったり、ゲームをつくったりしています。
これから紹介する学習方法や教材を参考に、Python中級者を目指して取り組んでみてください。
1. この記事におけるPython中級者の定義
まず、「初心者」と「中級者」の力量が抽象的で分かりにくいので、混乱しないように定義を明確にしておきます。
中級者:やりたいこと・つくりたいものにPythonを活用している方
以上のように定義させてもらいます。
なので、この記事では、「やりたいこと・つくりたいものを実装するために、どんな学習方法や教材が必要か。」を主題に解説していきます。
では、続きをどうぞ。
2.Python中級者に必要なこと
Python中級者(=自分で何かつくる)になるためには、次の4つが必要になります。
- 特定の分野での学習と実践
- 入門編にはないテクニカルな文法の習得
- 周辺知識の習得
- 取捨選択
順番に説明します。
・特定の分野での学習と実践
まず、自分のやりたいこと・つくりたいものを棚卸し、それがどの分野に属するか調べてみましょう。
つくりたいものがない人は、少しでも興味がある分野でもいいので、やることを決めます。
とはいえ、ぱっと思い浮かばない人もいると思うので、Pythonが活用されている代表的な分野を以下にまとめておきます。
参考にしてください。
- AI開発
- Web開発
- デスクトップアプリケーション
初心者からレベルアップするためには、まず具体的なモノ作りをしないと、入門レベル以上の知識や経験が得られません。
入門編に出てくる演習問題などを思い出してみてください。
「○○アプリを作ってみよう」みたいな問題は、やってて楽しいですが実用的ではないですよね。
入門編を何回も繰り返し勉強しても、実用的なモノが作れるようにはなりません。
なので、まずは自分が興味ある分野を定め、学習しつつモノ作りを実践しましょう。
・入門編にはないテクニカルな文法の習得
プログラミングでは、分かりやすいスマートなコーディングが良しとされています。
入門編では、触れる機会が少ないですが、徐々にテクニカルな文法の習得にもチャレンジしましょう。
例えば、次の文法を知っていると、コード量を抑えつつ、シンプルなコーディングができるようになります。
- 短絡評価
- リスト内包表記
- 三項演算子
…など。
文法は奥が深いです。
ここですべてを紹介するのは無理なので割愛しますが、新しい文法に出会ったら、掘り下げて勉強してみてください。
Pythonの公式ドキュメントが参考になります。
・周辺知識の習得
薄々、気づかれているかと思いますが、Pythonさえ出来れば何でも作れるというわけではありません。
世に出ている商品は、様々な技術に支えられて出来てます。
モノ作りを実践するためには、自分が作ろうとしているアプリやサービスが、どのような技術に支えられているかは、理解しておく必要があります。
次のような周辺知識は、特に理解しておきましょう。
- 開発環境(Git・GitHubなど)
- ネットワーク
- サーバー
- データベース
- クラウド
ネットワークやサーバー、データベースは、もはやITインフラとして欠かすこのできない存在です。
近年ではこれにクラウドが加わります。
あと、意外に大事なのは開発環境です。
ソースコードの管理や作業効率を良くするためにも、IDEやエディタはもちろん、Git・GitHubは扱えるようになりましょう。
メモ帳でコーディングするのは、効率面でだいぶ厳しくなると思うので、中級者を目指すなら自分が扱いやすい開発環境を導入しましょう。
このあたりは、基本的な仕組みを覚えつつ、自分でも使えるように取り組むのがよいと思います。
開発環境にお悩みの方は、『【Python×VSCode】初心者でも分かる環境構築の方法と導入メリットを解説』をご覧ください。
VSCodeはPython対応で、Git・GitHubとの連携が可能です。
・取捨選択
ここまで中級者に必要なことをいくつか挙げましたが、「いっぺんには無理!」という方がほとんどだと思います。
そこで大事なのは取捨選択です。
取捨選択するためには、繰り返しになりますが、自分のやりたいこと・つくりたいものの下調べが重要になってきます。
初心者のうちから全部を勉強するのは無理があるので、まずは「自分がやろうとしていることに関係あること」だけに集中して取り組む必要があります。
なので、棚卸しの段階で、何に取り組むか具体性を持たせてください。
具体例を次に挙げますが、もっと解像度を上げてもいいくらいだと思います。
やりたいことの詳細 | 学習対象 | やること |
---|---|---|
・ExcelやOffice系ソフトの作業を自動化したい。 ・データ収集や分析を効率よくしたい。 | ・Webスクレイピング ・Office系ソフト操作 ・データ分析 | ・Python基礎学習に加え、以下のライブラリについて学習する。 BeautifulSoup、Selenium Openpyxl、glob Pandas、Numpyなど |
狭くても、特定の分野で専門家になるくらいの気持ちで、取り組みます。
3.教材ごとの特徴
Python中級者に必要なことについて一通り説明しました。
やるべきことが明確になれば、あとは実際に中級者に向けて学習と実践を進めることになります。
そのためにも、自分に合った教材の見極めが重要になってきます。
なので、ここでは教材ごとの特徴を解説します。
- 本、書籍
- プログラミング学習サービス
- 動画配信サービス
- スクール
それぞれのメリットとデメリットを解説するので、あなたに合った教材を選んでください。
もちろん、一つでなければならない理由はないので、合いそうなものを複数選んでもOKです。
・本、書籍
定番の教材で、今でも根強い人気があります。
本、書籍のメリットとデメリットは次のとおりです。
メリット
- 専門的な知識を体系的に学習できる
- 情報の信頼性が高い
- 辞書的な使い方ができる
デメリット
- 情報のアップデートがされない
- 途中で挫折しやすい
本や書籍は、特定の分野で専門性を高めたいときに向いている教材です。
なぜなら、多くの本は、その道の専門家が書いているので、記載されている情報の信頼性は高いです。
そして、特定の分野を幅広く網羅的にまとめているので、専門的な知識を体系的に習得できます。
ただ、本は改版がない限り、情報がアップデートされることはありません。
購入する場合は、最近出版・改版されたものを選んでください。
また、本や書籍は、一冊に詰め込まれている知識の量も豊富なので、ちょっと調べたくなったときに辞書的な使い方もできます。
技術書は重く、場所をとるので携帯には向かないイメージですが、今は電子書籍化されているものも多く、一昔前と比べ扱いやすいです。
使い込めば、「この前もここ調べたよなぁ。」と、自分があまり理解できていない部分を客観的に知ることもできます。
一方で、知識量が膨大な分、量に圧倒されて挫折する確率も高くなります。
難解な部分が出てくると、自分でプログラムの動作がイメージできずに袋小路にハマることもあります。
そんなときは、質問サイトを利用するのが良いでしょう。
今では、技術系の質問サイトも充実しているので、調べた上で質問すれば、的確な回答を貰いやすくなりました。
なので、解決策や最新の情報を自分から取りに動ける人は、本や書籍で学習することが苦にならないと思います。
・プログラミング学習サービス
ここでいうプログラミング学習サービスとは、Progateやpaizaなどに代表されるWebサイト上でプログラミングが学べるサービスを指しています。
プログラミング学習サービスのメリットとデメリットは次のとおりです。
メリット
- パソコンがあればどこでも学習できる
- 学ぶ範囲が明確で解説が丁寧
- スクールに比べ費用が安い
デメリット
- 質問に制限や条件がある
- 実践に結び付きにくい
プログラミング学習サービスは、ステップアップしたいけど、具体的に何をすればいいか、まだ掴めていない人に向いています。
たいていのサービスでは、コースごとにやるべきことがまとまっているので、何から手を付ければいいのか悩むことがありません。
解説も丁寧なので、本や書籍より挫折する確率も低いです。
入門編や初級編の学習でプログラミング学習サービスを利用されていた方は、ワンランク上の講義にチャレンジしてみるのもいいと思います。
費用は、月額で1000円前後から3000円くらいまでのところが多く、プログラミングスクールと比較すると、費用は安いです。
上手に使えば、本や書籍を買うより安く済ませることができます。
また、学ぶ場所を選ばないのでパソコンさえあれば、自分の好きな場所とタイミングで学習ができます。
それでも、基礎部分の学習に終始している感が強いので、実践に直結しにくいです。
知識の積み上げには便利な教材なので、個人的には短期集中的に使い倒すのがいいと思います。
そういった意味では、時間が割と確保できる学生や休職中の人向けの教材といえるかもしれません。
ただ、提示されたものをこなすだけでは、モノ作りは厳しいので、学習の目的がイメージできていない方は、何よりも先に、自分が作りたいものを明確にしましょう。
・動画配信サービス
ここでいう動画配信サービスとは、YouTubeやUdemyなどに代表される講義を動画配信するサービスを指しています。
近年、おうち時間が増えたことで、認知度が上がりました。
動画配信サービスのメリットとデメリットは次のとおりです。
メリット
- 専門の講師から繰り返し学ぶことができる
- 実際にコーディングしているところが見れる
- 移動中などの隙間時間で学習できる
デメリット
- 分かった気になりがち
- 視聴、受講しないとコンテンツのレベルや講師との相性が分からない
動画配信サービスは、テキストベースでは、学習内容が理解しにくい人に向いている教材です。
どうしても本などのテキストベースの教材では、プログラミングの動きがイメージし辛いですが、動画だと実際にコーディングしているところやプログラムの動作が確認できるので、理解度が格段とアップします。
そして、動画が視聴できる間は、何回でも同じ講義を受けることができます。
分かるまで繰り返し学習する、忘れたから復習でもう一度講義を受ける、という使い方ができます。
また、専用のアプリを使えば、移動中にスマートフォンなどで視聴することができます。
なので忙しい方でも、隙間時間を利用して学習することが可能です。
その一方で、一度講義を受けただけで、内容を分かった気になりがちです。
講義は一方的なので、聴いている間は理解したつもりでも、実際にプログラムを書こうとすると手が止まることはよくあります。
なので、動画を止めつつ、自分でもプログラミングしてみるなど、アウトプットすることが重要になります。
また、実際に視聴してみないとコンテンツのレベルや講師との相性が分からないのは難点です。
この場合、口コミやコンテンツの評価を頼りに判断するしかありません。
YouTubeは無料なので財布は傷みませんが、時間が奪われます。
Udemyは有料コンテンツがほとんどなので、コンテンツ選びは慎重になったほうがいいです。
それでも、Udemyの有料コンテンツは、条件を満たしたコンテンツであれば購入後30日間、返金が保証されています。
「このコンテンツ無いわぁ。」となったら、30日間以内に返金申請すれば、お金が無駄になりません。
・【補足】初心者からのレベルアップにスクールは有りか
独学と対照的な学習方法なので、補足というかたちで解説します。
なお、ここでいうスクールとは、オンライン、オフラインを問わずプログラミングスクールのことを指しています。
結論からいうと、初心者からのレベルアップ方法として、スクールは万人向きではないと思います。
理由については、メリットとデメリットを見つつ、解説します。
メリット
- 独学よりも効率よく学べる
- 就職や転職を支援してくれるところもある
デメリット
- 独学に比べ、費用が高額
- 現場(就業先)とのギャップがある
メリットを見て分かるとおり、プログラミングスクールは就職や転職を前提とした人向けのサービスです。
サービス内容を確認すると、特に3~6か月といった短期間で結果を出したい人向けの内容になっているものが多いです。
独学は、寄り道や煮詰まることがありますが、スクールは学習カリキュラムが組まれているので、専門分野を体系的かつ効率的に学ぶことができます。
ただし、その分、費用がかかります。
高い安いは人それぞれですが、費用は20万円前後が相場です。
個人的には、プログラミングスキルを仕事に役立てたいレベルの人にとっては高額なので、無しだと思います。(そもそも前提が違いますが。)
では就職や転職を視野に入れている方ならおすすめかというと、一概にそうもいいきれません。
特にプログラミング未経験者の転職は、結構厳しいです。
仕事場の開発者の方曰く、「人はほしいけど、新人さんはいらない。」というのが現状です。
ITは売り手市場といわれていますが、市場と現場のギャップが見て取れます。
どの仕事でも共通だと思いますが、欲しいのは即戦力なんですよね。
もし、本気で狙うなら、業界研究や求められるスキルの洗い出しは必須で、スクールで教えてもらえないことは、自分で学習するくらいの気持ちと行動力が必要です。
それでも、就職や転職でITエンジニアを本気で考えている方は、まずは無料カウンセリングや授業の無料体験から始めたほうが良いと思います。
以下に、無料カウンセリングを行っている転職支援付きのプログラミングスクール「DMM WEBCAMPエンジニア転職」のリンクを貼っておきます。
ITエンジニアとしての就職や転職を希望されている方は、一度お試しください。


特徴
- プログラミング未経験者のために独自のカリキュラムを開発
- 書類添削や面接対策など、求人紹介にとどまらない転職サポート
- 条件を満たせば受講料が全額返金される転職保証制度あり
4.挫折しない勉強法
教材ごとの特徴の整理がついたところで、挫折しない勉強法について解説します。
私の独学経験がベースになっているので、多少、精神論が混じっていますが、お付き合いいただければと思います。
私が独学で重要だと考えているのは、次の2点です。
- 知識の定着
- モチベーションの維持
それぞれ説明します。
・知識の定着
プログラミングだけでなく、どの分野でも学習したことを頭に定着させることが重要です。
ただ、これがプログラミングになると分からないことのコンボ攻撃で、なかなか難しい。
それでも、学んだことを忘れないように、私は次のことを意識して取り組みました。
- とにかく手を動かす
- 学んだことをアウトプットする
・とにかく手を動かす
「とにかく手を動かす」は、よく言われることですが、本当に重要です。
本を読んだだけ&動画を見ただけでは、次の日ほとんど忘れています。
工夫されている教材は、講義とともにサンプルコードや演習を解かせるつくりになっていることが多いので、出てきたことは、その日のうちに自分でプログラムを動かすところまでやりましょう。
また、次の日に、自分が組んだサンプルコードを見て、実行させることで、復習にもなります。
これをやると、プログラムの動作を再びイメージできるので、知識が定着しやすくなります。
・学んだことをアウトプットする
「学んだことをアウトプットする」には、いろいろな方法があります。
誰かに話す、教えるという方法もありますが、今ならブログやTwitterで発信する方法もあります。
相手に伝えることを意識すると、たいていの人は間違ったことを伝えてはいけないという責任感が働きます。
そもそも、分かっていないことは人に説明できませんからね。
結果的に真剣に取り組むことになるので、理解度を上げることができます。
この方法も定番ではありますが、取り入れてみてください。
・モチベーションの維持
独学は孤独になりがちなので、モチベーションの維持に苦労します。
そこで、途中で投げ出さないように次のことに取り組む必要があります。
私は今でもこの2つを意識することで継続できているので、効果があると考えています。
- 難しいと感じたらハードルを下げる
- マンネリ化、嫌気が差したら方法を変える
・難しいと感じたらハードルを下げる
「難しいと感じたらハードルを下げる」は、例えば使っている教材のレベルが高いと感じたら、初心者向けに変えるようにしていました。
「分からないことが多いな…」と落ち込むこともありますが、知らないことはしょうがないので、変なプライドは持たなくてOKです。
それよりも、これから分かるためにどうすればいいか考えるようにしましょう。
知識や経験を積み上げれば、あとから分かってくることも多いので、まず投げ出さないことが重要です。
・マンネリ化、嫌気が差したら方法を変える
「マンネリ化、嫌気が差したら方法を変える」は、モチベーションの停滞を察知したら、勉強法や勉強する場所を変える作戦です。
そもそも学習方法や教材が合っていない可能性があるので、思い切って変えましょう。
例えば、「基礎的な内容で退屈だなぁ」と感じたなら、専門的な教材に切り替えるのも一つの手です。
興味が刺激されて学習が捗ることがあります。
また、自宅で学習しているのなら、たまに図書館やカフェに移動して学習するのも効果的です。
気分転換になりますし、学習成果は横に置いておいて、頑張ってる感を味わうことができます笑
以上、挫折しない勉強法についてでした。
Python中級者に必要なことが、だいぶお分かり頂けたと思います。
重要なのは、自分でモノ作りすること&継続です。
最後に、各分野のおすすめ教材を紹介するので、ぜひ取り入れて学習方法や教材を自分用にカスタマイズしてください。
5.分野別のおすすめ教材
Pythonが活用されている代表的な3つの分野のおすすめ教材を紹介します。
それぞれ、専門分野の入門編の教材なので、これからステップアップするにはちょうどいいレベルのものばかりです。
・デスクトップアプリ
デスクトップアプリの開発は、Webアプリ開発や機械学習などに比べて難易度は高くありません。
成果物も目に見えるので、作る楽しさを味わうことができます。
何を作るか迷っているなら、まずデスクトップアプリ作成に取り組むのをおすすめします。
Pythonではじめるデスクトップアプリ開発入門
デスクトップアプリ開発に興味がある方におすすめしたいのが、『Pythonではじめるデスクトップアプリ開発入門【電子書籍】[ 久我涼子 ]』です。
プログラミングの知識ゼロの方を前提にされているので、解説は丁寧で分かりやすいです。
GUIのライブラリ「tkinter」を使用し簡単なアプリをいくつか作成する内容になっているので、読みつつ手を動かすことでモノ作りが体験できるつくりになっています。
・Webアプリ
Webアプリ開発では、どのフレームワークを扱うが学習のポイントになります。
Djangoはよく使われているフレームワークなので、Webアプリを作成したい方は、このあたりから始めるのをおすすめします。
【徹底的に解説!】Djangoの基礎をマスターして、3つのアプリを作ろう!
※画像をクリックすると商品ページに移動します。
Djangoを使ってこれからWebサイトを作ってみたい方におおすすめしたいのがUdemyの『【徹底的に解説!】Djangoの基礎をマスターして、3つのアプリを作ろう!
実際にコーディングしながら学習していくので、Pythonの基礎知識は求められますが、どうすればWebサイトを構築できるのか丁寧に解説されているので、Djangoの基礎固めに最適です。
・データ分析
データ分析は、ざっくり言って、データを分析しやすい形に整形し、集計や分析をする分野と、そのデータを使ってモデリングやアルゴリズムを作る分野に分かれると思います。
後者は、人口知能や機械学習が代表的ですが、必要な知識量も多く、門外漢の方にとっては結構、難易度は高めです。(私も苦労してます…)
Pythonによるデータ分析入門 第2版
仕事などでデータの集計や分析を効率よくやりたい方に向けて、おすすめするのが『【送料無料】 Pythonによるデータ分析入門 第2版 -NumPy、pandasを使ったデータ処理 / Mckinney, Wes 【本】』です。
データ分析によく使用するライブラリを幅広く解説しているので、この一冊でデータ分析の基礎を押さえることができます。
機械学習で使用するデータの前処理や、ビジネス上のデータ分析・集計テクニックを身につけたい人向けの書籍です。
【キカガク流】人工知能・機械学習 脱ブラックボックス講座 – 初級編
※画像をクリックすると商品ページに移動します。
人工知能や機械学習にチャレンジしてみたい方に向けて、おすすめするのがUdemyの『【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編
画像処理やロボット工学、機械学習による製造業のプロセス改善に従事されていた講師が、初心者にも分かりやすく解説してくれます。
機械学習というと難しいイメージですが、機械学習の基礎の基礎や数学の知識も必要なものに絞って解説してくれるので、私のような文系出身でも付いていける内容になっています。
これ以上やさしく解説している講義はあまりお目にかかれません。
6.まとめ
以上、独学でPython初心者からレベルアップする方法でした。
まとめると、Python中級者を目指すうえで必要なのは、次の4つでした。
- 特定の分野での学習と実践
- 入門編にはないテクニカルな文法の習得
- 周辺知識の習得
- 取捨選択
ただ、独学は挫折しやすいので、個人の経験を踏まえて、次の4つを意識する重要性を解説しました。
- とにかく手を動かす
- 学んだことをアウトプットする
- 難しいと感じたらハードルを下げる
- マンネリ化、嫌気が差したら方法を変える
Python中級者になるためには、モノを作る必要があります。
この記事を参考にしつつ、Python中級者に向けて取り組んで頂けると嬉しいです。
今回おすすめした教材
ご清聴ありがとうございました。
【補足】Udemy/Progate/paizaのサービス内容と登録方法
この記事でいくつかサービスが登場しましたが、Progate、paiza、Udemyを初めて耳にした方もいらっしゃると思います。
便利なサービスなので、補足として、それぞれのサービス内容と登録方法を簡単に説明します。
登録方法は、数ステップで完了するので、気になるサービスがあれば登録してみてください。
・Udemy
Udemyは世界最大級のオンライン教育プラットフォームです。
プログラミングだけでなく、デザインやマーケティングなど様々な分野のコースが用意されています。
Progateやpaizaと異なり、サブスクリプション型ではなく、買い切り型のコンテンツなのが特徴です。
利用者数は世界で5000万人にも上るといわれています。



アカウント登録の手順は次の通りです。
- Udemyのホームページで「新規登録」ボタンをクリック
- 必要事項を記入し、「登録する」ボタンをクリック
1.画像右上の「新規登録」ボタンをクリックします。
2.「氏名」、「メールアドレス」、「パスワード」を入力し、「登録」ボタンをクリックすると、アカウント作成は完了です。
※セールス情報が不要な場合は、「セールス情報、個人向けの~」のチェックを外してください。
・Progate
Progateは、プログラミング未経験者向けのオンラインレッスンです。
学べるプログラミング言語はWeb系が多い印象です。
現在の会員数は、約260万人と多くの方が利用されています。(2022年6月調べ)
一部の無料レッスンを受講できる「無料プラン」と、公開しているすべてのレッスンを月額1078円で受け放題の「プラスプラン」があります。



アカウント登録の手順は次の通りです。
- Progateのホームページで「無料会員登録」ボタンをクリック
- 必要事項を記入し、「新規登録」ボタンをクリック
- 登録したメールアドレスで、メールアドレス認証する
1.画像右上の「無料会員登録」ボタンをクリックします。
2.「ユーザー名」、「メールアドレス」、「パスワード」など必要事項を入力し、「新規登録」ボタンをクリックします。
※GoogleやFacebook、Twitterのアカウントをお持ちの方は、既に利用しているサービスのアカウントで会員登録ができます。
3.登録したメールアドレスに認証用のメールが届きます。
メールの内容に沿って、メースアドレス認証を行えばアカウント登録は完了です。
・paizaラーニング
paizaラーニングは、ITエンジニアの転職・就職・学習を支援するプラットフォームを運営しているpaizaが提供しているサービスです。
様々なプログラミング言語に対応し、paizaラーニングで測定したプログラミングスキルがpaiza内の就職・転職活動に利用できるのが特徴です。
2022年3月に公表された情報だと、会員数は約50万人以上の方が利用されているようです。
参考:『「paiza」の会員数が遂に50万人を突破! 平均年収アップ額(83万円/Sランク)など登録者の実態が分かる特設サイトを公開』
PaizaもProgeteと同様、無料プラント有料プランがあり、有料プランは月額1078円ですべての講義を受けることができます。



アカウント登録の手順は次の通りです。
- paizaのホームページで「新規登録」ボタンをクリック
- 必要事項を記入し、「規約に同意して登録する(無料)」ボタンをクリック
- プロフィール登録画面で必要事項を記入し、「規約に同意して登録する(無料)」ボタンをクリックする
- 登録したメールアドレスで、メールアドレス認証する
1.画像右上の「新規登録」ボタンをクリックします。
2.「メールアドレス」、「パスワード」を記入し、「規約に同意して登録する(無料)」ボタンをクリックします。
※GoogleやFacebookなどのアカウントをお持ちの方は、既に利用しているサービスのアカウントで会員登録ができます。
3.プロフィール登録画面で必要事項を入力し、「規約に同意して登録する(無料)」ボタンをクリックします。
4.登録したメールアドレスに認証用のメールが届きます。
メールに記載されている本登録用URLにアクセスすれば、アカウント登録は完了です。