Python学習で、勉強のロードマップを立てること。
これはPythonを最短で習得するために重要なことです。
では、なぜ勉強のロードマップを立てることが大切なのでしょうか?
別の記事で、Pythonが上達する、たった1つのコツを解説というものを紹介しました。
この記事では、Pythonが上達するコツとして「作りたいものを決めること」が大切だとお伝えしました。
Pythonで作りたいものを決めたあとのステップは、下記の通りです。
ステップ1 : Pythonで作りたいものを決める
ステップ2 : Python学習ロードマップを作る
ステップ3 : Pythonの基礎学習を終わらせる
ステップ4 : Pythonで作りたいものを作ってみる
ステップ5 : Pythonの足りない知識を補強する
つまり、「ステップ1:Pythonで作りたいものを決める」の次に「Python学習ロードマップを作る」を作る必要があります。
しかし、Python初心者の悩みを聞いていると、「Python学習ロードマップがわからない」という方が多いです。
確かに、Python初心者であれば、学習ロードマップ(学習計画)の立て方がわからないですよね…。
そこで、この記事では、4つの作りたいもの別に学習ロードマップを紹介します。
文字数は全部で16,000文字を超えています。
詳しく解説をしています。
有料級の内容だと自負しています。
最後に、作りたいものがない人への学習ロードマップも補足として紹介しています。
この記事でわかること
Pythonでできることには、大きくわけて4つあります。
- 業務の自動化
- データ分析
- 機械学習
- Webアプリケーション開発
他にも、Pythonでできることには、ブロックチェーン開発や、ラズベリーパイを使った電子工作などがあります。
しかし、ニーズが高いのは上記4つです。
この記事では、上記4つ学習目的別の勉強ロードマップについて解説をします。
この記事を参考に、最短で作りたいものを作っていただければと思います。
こんな悩みを抱えている方におすすめ
この記事は、下記に悩みを抱えている方を対象としています。
ぜひご参考になさってください。
- Pythonをこれから学習しようと思っている初心者の方
- Pythonを効率よく、最短で習得したい方
- Pythonを学習しているが成長の実感が持てない方
Python基礎の学習は必須
まず最初に、みなさんにお伝えしたいのは「どの学習目的であっても、Pythonの基礎を習得する必要がある」ということです。
Python学習の目的は、大きく分けて4つあるとお伝えしました。
では、Pythonの基礎とはなんでしょうか?
キノコードでは、Python超入門講座という動画を出しています。
この内容が、私が考えるPythonの基礎になります。
具体的には、Pythonの基礎は、制御構造であるfor文やif文、そして、リスト、関数、クラスなどです。
このPython基礎学習は、入門者にとっては非常に退屈だと感じると思います。
実際に、私自身、Pythonの基礎学習している時に「この基礎学習は、本当に役にたつのか?」と思いながら勉強していました。
プログラミングができるようになった今、入門レベルの学習に意味があることはわかります。
では、これらはどういった場面で使われるのでしょうか?
その意味がわかると、学習のモチベーションがあがると思うので2つ例に出して説明をします。
1つめの例:業務自動化の場面
例えば、営業担当者の成績管理表をExcelを読み込んで、売上100万円以上なら「達成」「未達」という書き込みをしたいとします。
そうすると、if文という条件によって処理を変えるプログラムを書く必要があります。
100万円以上なら「達成」
100万円未満なら「未達」
といった処理を書きます。
for文はどうでしょうか?
業務自動化の場面では、営業担当者は2人以上いることがほとんどです。
営業担当が1人なら、手入力した方が早いですからね。
つまり、1行目だけではなく2行目以降も同じ処理をする必要があります。
この時に記述するのがfor文です。
つまり、同じ処理を繰り返すためにfor文を書く必要があります。
関数はどうでしょうか?
上で説明をした、if文やfor文文での判定の処理は、10月分だけではなく、11月分や12月分も必要だったとします。
こういった場面で、関数が活躍します。
関数とは、簡単にいってしまうと、「こういう処理をしてくれー」と依頼をすると、その処理を返してくれます。
関数の中に、上記のif文やfor文の処理を記述します。
その上で「10月分の判定の処理をしてくれー」と命令をすると、10月分の判定の処理が返ってきます。
次に、「11月分の判定の処理をしてくれー」と命令をすると、11月分の判定の処理が返ってきます。
if文やfor文の同じ記述を何度も書かなくてよくなり、プログラムのメンテナンスがしやすくなります。
2つめの例:アプリケーション開発の場面
他の例で説明します。Webアプリケーション開発の場面です。
あなたが月額制のWebサービスを運営していたとします。
毎日0時に、その日の課金の処理をしていたとします。
ユーザー1人1人の会員であるかの情報を参照をして、会員であるなら課金の処理、会員でなくなっているなら課金をしない処理と退会をする処理をしていたとします。
ここでもif文やfor文が関わってきます。
if文で会員であるか判定をして、課金と退会の処理をします。
for文で、その処理を繰り返します。
関数にしておくといつでも呼び出すことができます。
Pythonの基礎学習であるif文やfor文、関数などの重要性はおわかりいただけましたでしょうか?
業務自動化だろうが、機械学習だろうが、アプリケーション開発だろうが、すべてに必須の知識になります。
とはいえ、Pythonの基礎は、次のステップで必ず使用します。
そのため、私自身はさらっと学習するでOKだと考えています。
暗記は不要で、「Pythonはこんな感じなんだな」ぐらいの温度感で学習を進めてください。
Python基礎の学習時間
YouTube動画のPython超入門講座は、動画の長さとしては約1時間あります。
プログラミング学習サービスの「キノクエスト」には、Python超入門講座の問題が、約100問あります。
1日1時間ずつ勉強するのであれば、1日10問進められると仮定します。
そうすると、10日間で終わることになります。
ただし、Python入門者であれば、迷う点があると思います。
さらには、復習などを含めると、その倍はかかるかもしれません。
したがって、Python基礎の学習時間は約1ヶ月はかかると想定されます。
なお、Python学習サービス「キノクエスト」は、学習カリキュラムがあり、学習順番や学習方法に迷うことがありません。
動画もあるのでインプットができ、環境構築不要でコードを書く機能もあります。
Python学習のお供にご登録ください。
▼キノクエストの紹介ページ
「こちらをクリック」
Pythonによる業務自動化をやってみたい方
このセクションでは、 Pythonによる業務自動化をやってみたい方に向けて、習得が必要なスキルやライブラリ、Pythonによる業務自動化でできること、習得までの想定学習時間について説明をします。
Pythonによる業務自動化で必要なスキルやライブラリ
業務自動化には、「Python基礎 + Pandas + Pythonライブラリ」が必要です。
順に説明しますね。
Pythonによる業務自動化をするには「Pandas」の習得が必要
上記でも説明したように、「どの学習目的であっても、Pythonの基礎を習得する必要がある」ということです。
したがって、Pythonによる業務自動化であっても、Pythonの基礎を習得する必要です。
そして、Pythonの基礎を習得した後は、Pandasを学習しましょう。
Pandasとは、データをExcelのような表形式で扱うことができるPythonのライブラリです。
Pandasの読み方は、「パンダス」です。
例えば、Pandasでは、下記のようなことができます。
- csvファイルを読み取るための機能
- Excelのデータを読み取る機能
- 列や行を追加、変更、削除ができる
- フィルターをかけて特定の行を抽出できる
- 列の並び替えができる
- グループごとに集計することができる
- 表同士をデータを特定のキーで結合することができる
- 時系列のデータを扱うことができる
このようにPandasでは色々なことができます。
Excelを使ったことある方なら、Excelでできることは、Pandasではほぼできるといっても過言ではないです。
上記のようなことができるため、Pandasでは、下記のような作業を自動化することができます。
- 複数のExcelやcsvファイルを読み込む
- 列や行を削除、特定の条件で抽出、データ同士を結合
- グループごとに集計
- グループごとに複数のExcelに書き出し
業務では、売上だったり、在庫データであったり、経理のデータであったり、Excelのような表形式にしてデータを扱うことが多いですよね。
そのため、Pandasでは、こういった集計業務で大活躍します。
Pandasの習得を通して「ライブラリ」の使い方を理解しよう
PandasはPythonのライブラリです。
私はプログラミング学習を始める前、ライブラリと聞くと、なんだか難しそうな印象をもっていました。
ですが、Pandasを使うようになってから
「なんだ、こんなことか!」
と理解することができます。
Pandasを使うことを通して、ライブラリとはなんなのか?
ライブラリはどうやって使うのか?
といったことを学んでください。
なぜなら、業務自動化の場面では、色々なライブラリを使うからです。
キノコードがプロデュースしたPython学習サービス「キノクエスト」には、「データ集計自動化コース」というコースがあります。
このコースでは、Pythonの基礎とPandasの習得を目指します。
キノクエストでは、カリキュラムがあるので学習方法に迷うことなく、学習を進められます。
下記が紹介ページなので詳しくはそちらをご覧ください。
▼キノクエストの紹介ページ
「こちらをクリック」
業務自動化関連のPythonライブラリを使いこなせるようになろう
Python基礎、Pandasの次は、業務自動化系のPythonライブラリです。
Pythonには、たくさんのライブラリがあります。
Pythonが人気言語No.1の理由は、ここにあるといってもいいでしょう。
具体的には、下記のようなライブラリがあります。
- パソコンのフォルダやファイルを操作するライブラリ
- Excel操作のライブラリ
- Google Chromeなどのブラウザ操作の自動化をするライブラリ
- Webサイトからデータを取得するライブラリ
- Twitter、YouTube、GoogleAnalyticsからデータ取得するライブラリ
- データベースからデータ取得するライブラリ
ごく一部ではありますが、以上のように業務を自動化してくれるライブラリがたくさんあります。
ただし、ここまでの学習ロードマップで、Pandasというライブラリを使っています。
したがって、ライブラリの使い方については、イメージがついているはずです。
あとは、ご自身の仕事に活かせるライブラリをどんどん使って、業務自動化をしてください。
Pythonによる業務自動化でできること
Pythonどんな業務を自動化できるのでしょうか?
具体的な事例をご紹介します。
Webサイトからデータを取得するWebスクレイピング
Webサイトからデータを自動的に収集することができます。
BeautifulSoupやSeleniumなどのライブラリを使用します。
定期実行の設定をすればウェブサイトのデータをとってきて、Excelなどのデータを保存をすることができます。
人の手ではできないほどの作業をプログラミングなら実現することが可能です。
ブラウザ操作の自動化
Google Chromeなどのブラウザを操作を自動化することができます。
具体的には、Webサイトにログインをしたり、新規のアカウント作成を自動化したり、特定のページを遷移したりすることが可能です。
SeleniumやPuppeteerなどのWebブラウザ自動化のライブラリを使用します。
ログインが必要なサイトのデータをウェブスクレピングをするには、ログイン処理をSelenium、 Webサイトのデータを取得BeautifulSoupに分担させれば実現可能です。
また、システム開発テストのために大量のアカウントを新規作成ケースがあります。これにも利用できます。
さらには、社内の独自のシステムにログインをして、データを取得する際にも利用できます。
Excel作業の自動化
Pythonを使用すると、Excelの操作も自動化できます。
pandasとopenpyxlなどのライブラリを使用します。
大量のExcelファイルから同じ形式のデータを取得し、それをまとめて1つのファイルにする作業などを自動化することが可能です。
他にも、既存のExcelファイルのセルに、新たなデータを追加したり、特定のセルの値を更新、削除する作業を自動化することが可能です。
ファイルやフォルダの自動操作
Pythonの標準ライブラリを使って、ファイルやフォルダの自動操作、具体的には、作成、削除、移動、名前変更などが可能です。
標準ライブラリとしては、ファイル名を見つけるためのglob、osを操作できるosライブラリ、フォルダを操作できるshutil(シューティル)などがあります。
他にも、pandasを使用してCSVやExcelファイルを読み込んだり、PDFを操作するPyPDF2 、Wordファイルを操作するpython-docxなどライブラリがあります。
デスクトップ操作
PythonライブラリのPyAutoGUIなどを使うと、パソコンのデスクトップ操作を自動化することができます。
具体的には次のようなことができるようになります。
特定のアプリケーションを定期的に起動する。
デスクトップのメニューやボタンを自動的にクリックして、特定の操作を行う。
特定の時間やイベントに基づいて、定期的にスクリーンショットを撮る。
APIの利用
APIとは、Webサービスやソフトウェアの機能を別のWebサービスやソフトウェアから呼び出せるようにしたものです。
企業が提供しているAPIは、Pythonにほとんど対応しているといっても過言ではありません。
APIを通して、企業が提供するサービスの自動化が可能です。
APIとしては次のようなものがあります。
Google AnalyticsのウェブアクセスデータなどをPythonで取得することができるGoogle Analytics API。
Google Mapsで地図データを取得、操作などをPythonでできるGoogle Maps API。
Facebookのユーザー情報や投稿、写真などをPythonで操作できるFacebook Graph API
Twitterのツイートの取得や投稿などをPythonでできるTwitter API。
天気情報のデータをPythonで取得できるOpenWeatherMap API。
Slackのメッセージ送信、チャンネル管理をPythonでできるSlack API。
Shotifyのプレイリストの作成や管理などをPythonででできるSpotify Web API。
Notionのデータを取得、検索、ページ作成をPythonで操作できるNotion API。
ChatGPTを自社のアプリケーションに組み込んだり、他のサービスと接続することができるChatGPT API。
Eメール送信
smtplibやemailライブラリを使って、自動的にEメールを送信することが可能です。
これにより、定期的なメールの配信や、今まで説明したきた自動化した処理内容やタスクをメールで配信、ファイナンスの分析など特定のイベントが発生した際のアラート通知をするメール配信などを自動化できます。
データ分析、レポート作成の自動化
あとで、詳しく話しますが、Pandas、Matplotlibなどを使うとデータ分析をすることができます。
そのデータ分析のプログラムを定期的に実行をして、分析レポートの自動化をすることができます。
また、それをメール配信をして、分析レポートの配信自動化することもできます。
さらには、PythonのライブラリであるStreamlit(ストリームリット)を使うと、TableauやPowerBIのようなGUIで操作できる分析ツール(ダッシュボード)を作成することができます。
Pythonによる業務自動化の学習時間
Python基礎の学習時間は1ヶ月かかるとお伝えしました。
キノコードが運営するPython学習サービス「キノクエスト」には、Pandasの問題は、約300問あります。
1日1時間ずつ勉強するのであれば、1日10問進めれると仮定します。
そうすると、30日間で終わることになります。
ただし、復習などを含めると、その倍はかかると想定されます。
したがって、Pandas習得までにかかる時間は、2ヶ月と想定されます。
業務自動化関連のPythonライブラリの学習については、3~4つ触れば、だいぶ自信になると思います。
2週間で1つずつ学習すると仮定すると、2ヶ月です。
したがって、Pythonによる業務自動化の学習時間は、5ヶ月と想定されます。
Pythonでデータ分析をやってみたい方
Pythonでデータ分析ができるようになるためには、「Python基礎 + Pandas + MatplotlibとSeaborn」の習得が必要です。
順に説明します。
Pythonによるデータ分析にも「Pandas」の習得は必要
業務自動化のところで、Pandasについては、「データをExcelのような表形式で扱うことができるPythonのライブラリ」と説明しました。
ここでの説明の通り、Pandasは、データをExcelのような表形式で扱うことができます。
表形式で扱えるからこそ、表同士をデータをつっつけたり、穴が空いているデータを色々な方法で埋めたり、時系列のデータを扱ったりすることができます。
したがって、データの前処理をすることが得意なのです。
データ分析は、データの前処理がしっかりできていないと、綺麗なデータ分析をすることができません。
そういう意味でも、データ分析に必須のデータ前処理ができるPandasの習得は必須です。
データ分析に必要なグラフ化の技術は、「Matplotlib」と「Seaborn」で実現できる
データの前処理が終わったら、いよいよ分析です。
データ分析に必須のプロセスがグラフ化です。
このグラフ化が得意なライブラリが、Matplotlibなのです。
Matplotlibは、Pythonのグラフを描くためのライブラリです。
Matplotlibはを使うと、いろいろな種類のグラフを作成することができます。
データ加工が得意なPandasにも、グラフを作成するメソッドや関数がありますが、Matplotlibの方がより種類が豊富です。
このMatplotlibを使えば、できないグラフ化がないといってもいいですよね。
ExcelやBIツールでできるグラフ化は、ほとんど実現できるといっても過言ではないでしょう。
また、Pythonには「Seaborn」というライブラリもあります。
Seabornも、Matplotlibと同様に、Pythonのグラフを描くためのライブラリです。
Seabornは、Matplotlibをベースに作られており、Matplotlibより美しいグラフを作成することができます。
また、SeabornはMatplotlibを改良して作られたものです。
そのため、Matplotlibより少ないコードでグラフを作成することができます。
美しいグラフを簡単にかける。これがSeabornの特徴です。
しかも、MatplotlibもSeabornも、Pythonのライブラリだから無料です。
ExcelやBIツールのように有料ではありません。
また、無料なので、どの職場にいっても利用可能ですよね。
ぜひ習得されることをおすすめします。
Pythonによるデータ分析でできること
Pythonによるデータ分析でどんなことができるでしょうか?
具体的な例をいくつかあげていきます。
ウェブアクセス分析
ウェブアクセス分析です。Pythonでログデータを読み込んだり、Google Analytics APIを使用してデータを取得して、訪問者の行動やコンバージョン率などを分析することができます。
A/Bテストの分析
A/Bテストの結果を分析するために統計的仮説検定を行うこともできます。
顧客分析(CRM分析)
自社を利用してくれている顧客の分析をすることができます。
具体的には、顧客の生涯価値(LTV)の分析、顧客解約のチャーン分析などを行うことができます。
他にも、セグメンテーション分析、RFM分析、NPS分析、パレート分析などができます。
統計的な分析
Pythonでは、統計処理を行うことができます。
SciPy、Statsmodelsなどのライブラリが代表的です。
これらのライブラリを使うと、相関分析、回帰分析、仮説検定、確率分布とランダムサンプリング、分散分析などができるようになります。
株や為替の分析
株や為替の分析もできようになります。
機械学習を使うと、分析ののみならず、株価などの予測などもできます。
他のも、仮想通貨の分析、資産運用という意味では不動産価格の分析もできるようになります。
ソーシャルメディア分析
ソーシャルメディア分析もできるうようになります。
TwitterやFacebookなどのソーシャルメディアのデータを分析し、トレンドの分析、バズったツイートの分析、フォローワーの理解などができます。
Pythonによるデータ分析の学習時間
Pythonによるデータ分析ができるようになるためには、「Python基礎 + Pandas + MatplotlibとSeaborn」の3つの習得が必要であることをご理解いただけたと思います。
Python基礎の学習時間は、1ヶ月かかるとお伝えしました。
Pandasの学習時間は、2ヶ月で終わります。
Python学習サービス「キノクエスト」には、MatplotlibとSeabornの問題が230問ほどあります。
1日10問ずつ解くとなると、23日かかります。
復習の時間を倍とると、50日かかることになります。
つまり、約2ヶ月です。
したがって、Pythonによるデータ分析の学習時間は、合計、5ヶ月と想定されます。
Pythonによる機械学習をやってみたい方
機械学習には、「Python基礎 + Pandas + Matplotlib + Scikit-learnなど機械学習系のライブラリ」の習得が必要です。
詳しい接目に入る前に、どこでどんなライブラリを使うのか機械学習の大まかな流れをご説明します。
機械学習の大まかな流れは下記の通りです。
- データ取得
- 探索的データ分析(EDA)
- 特徴量エンジニアリング
- モデル構築
- モデル評価
2番目に、探索的データ分析というプロセスがあります。
データ集計・可視化などを通してデータセットにどんな特徴があるのか把握するプロセスです。
具体的には、データを集計をしたり、可視化したり、比較をしたり、相関をみたり、そんなプロセスです。
このプロセスでは、PandasやMatplotlibのスキルが必要です。
3番目の特徴量エンジニアリングは、機械学習モデルの予測精度向上に有用なカラム(特徴)を抽出・加工するプロセスです。
このプロセスでは、データ集計や加工が得意なPandasが大活躍します。
したがって、機械学習の場面でも、データ分析のスキルが必要です。
つまり、機械学習でも、データ分析のところでも説明したように「Python基礎 + Pandas + Matplotlib」の習得が必要です。
なお、詳しい機械学習のプロセスの説明については、下記の記事に解説があるのでご覧ください。
【初心者向け】Pythonによる機械学習の学習ロードマップ|機械学習でできることの事例30例も交えて徹底解説【無料で14,000文字!】
Pythonの機械学習系のライブラリの習得が必要
機械学習のモデル構築には、機械学習系のライブラリの習得が必要です。
その中でも、必須のライブラリがScikit-learnです。
Scikit-learnは、Pythonの機械学習ライブラリです。
「サイキット ラーン」と読みます。
Scikit-learnでは、さまざまな機械学習のモデル構築ができます。
そのため、基本的な機械学習のモデルはほとんど構築できるといってもいいでしょう。
また、機械学習のプロセスであるモデルを評価するための関数・メソッドも準備されています。
Pythonの機械学習系のライブラリには、PytorchやTensorflowなどもありますが、まずは、Scikit-learnだけで十分です。
Scikit-learnの習得を目指しましょう。
Pythonによる機械学習でできること
Pythonによる機械学習ではどんなことができるのでしょうか?
機械学習のできることとして、画像認識、自然言語処理、予測分析、推薦システム、異常検知などいろいろできることがあります。
その中でビジネスシーンでニーズが高いのが、予測分析(予測モデリング)です。
そして、この予測の種類には、2通りあります。
分類予測と回帰予測です。
分類予測とは、顧客が購入するかしないか、患者さんが病気になるかならないか、売上があがるのかさがるのか?いった予測します。
分類予測は、簡単にいうとカテゴリの予測です。
回帰予測とは、売上がいくらになるか?在庫が何個になるか、患者さんの健康寿命は何年と何ヶ月か?といった予測をします。
回帰予測は、簡単にいうと数字の予測です。
そこで、ここでは回帰予測と分類予測の例を10個ほどあげて説明をします。
その予測分析が回帰か分類か、使用するデータとしてはどんなものを使うのか?ということもあわせて説明をします。
-
顧客が特定の商品を購入するかどうか予測
・使用するデータ:顧客の年齢、性別、購買履歴、検索履歴、クリック履歴など
・予測種別:分類予測 -
製品の売上予測
・使用するデータ:過去の売上データ、市場動向、競合他社の状況、プロモーション活動など
・予測種別:回帰予測 -
画像から不良品であるかを予測
・使用するデータ:製品の画像、寸法、重量、製造過程のデータなど
・予測種別:分類予測 -
テキストから感情がポジティブ、ネガティブを予測
・使用するデータ:テキストデータ、単語の出現頻度、単語の感情スコアなど
・予測種別:分類予測 -
筆跡の画像から特定の人であるか予測
・使用するデータ:筆跡サンプル(手書きの文章や署名)、筆圧、筆順、文字の形状や大きさ、スペースの取り方、傾きなど
・予測種別:分類予測 -
クレジットカード取引が不正利用かどうか予測
・使用するデータ:取引履歴、取引金額、取引場所、利用者の属性など
・予測種別:分類予測 -
未来の株価の予測
・使用するデータ:過去の株価データ、市場情報、企業の業績、ニュース記事など
・予測種別:回帰予測 -
従業員が離職するかを予測
・使用するデータ:年齢、入社からの経過月数、部署、有休消化率、残業時間など。
・予測種別:分類予測 -
患者が特定の病気になるかの予測
・使用するデータ:患者の年齢、性別、体重、身長、既往歴、血液検査結果など
・予測種別:分類予測 -
学生のテストの点数を予測
・使用するデータ:学生の過去の成績、出席状況、学習時間、家庭環境、教師の評価など
・予測種別:回帰予測 -
スポーツチームの勝敗予測
・使用するデータ:過去の試合データ、選手の成績、チームの戦術、対戦相手の情報など
・予測種別:分類予測
Pythonによる機械学習の学習時間
「Python基礎 + Pandas + MatplotlibとSeaborn + Scikit-learn」を習得すれば、Pythonによる機械学習を習得できます。
Python基礎の学習時間は、1ヶ月かかります。
Pandasの学習時間は、2ヶ月かかります。
MatplotlibとSeabornは、2ヶ月です。
Scikit-learnの習得には、1ヶ月もかからないと思います。
ただし、機械学習の流れや最低限の理論を抑えるまでに、2~3ヶ月の時間を要すると思います。
また、機械学習のテーマに実際に取り組む必要があります。
1ヶ月に1つ。3つ取り組むとなると、3ヶ月かかります。
したがって、Pythonによる機械学習の学習時間は、約1年近くと想定されます。
これより早く習得できるのであれば、あなたは優秀な方だと思います。
Pythonによるアプリケーション開発をやってみたい方
Pythonによるアプリケーション開発には、「Python基礎 + Python応用 + Djangoなどのフレームワーク」の習得が必要です。
したがって、「Python基礎 → Python応用 → Djangoなどのフレームワーク」の順番でPython学習を進めていきましょう。
なお、アプリケーション開発をするには、Pythonだけでは開発は難しいです。
なぜなら、アプリケーション開発には、Pythonの他にもデータベースの知識、サーバー(クラウド)の知識、フロントエンドの知識、Gitの知識、Dockerの知識が必要になるからです。
したがって、Pythonを学びながら、これらの知識もつけていく必要があります。
Djangoなどのフレームワークを学習を進めていくと、それらの知識もインプットしていくことになります。
まずは、アプリケーションを作り切ることを目標にして、必要な知識は補っていきましょう。
どうしても気になることがあれば、データベースやクラウドの技術を学ぶとよいでしょう。
Python基礎と応用の習得が必要
さて、Python基礎については、何を学習するにも必要な技術であると、上記で説明をしました。
次のPytnon応用についてです。
アプリケーション開発においては、Pythonのfor文、if文、関数の他にクラスについての理解が必要です。
インスタンスとは何か?アトリビュートとか何か?オブジェクトとは何か?クラスの継承などの理解も必要になります。
他にも、スコープについての考え方、例外処理についてもきちんと押さえた方が良いです。
したがって、Python基礎のみならず、応用的な内容についても理解が必要になります。
Pythonのおすすめのフレームワークは「Django」の習得をまず目指しましょう
そして、最後に、Djangoなどのフレームワークの理解が必要です。
フレームワークとは、WebサイトやWebアプリケーションなどを作るときに、よく使う機能をテンプレートとして提供するものです。
フレームワークには、3大フレームワークというものがあります。
各プログラミング言語別に、RubyだとRuby on Rails、PHPだとLaravel、PythonだとDjangoです。
言語名 | フレームワーク名 |
---|---|
Ruby | Ruby on Rails(ルビー オン レイルズ) |
PHP | Laravel(ララベル) |
Python | Django(ジャンゴ) |
そして、Pythonで有名なフレームワークを3つあげると、Django、Flask、FastAPIがあります。
フレームワーク名 | 特徴 |
---|---|
Django | 多機能 |
Flask | 軽量 |
FastAPI | 高速 |
Djangoは多機能、Flaskは軽量、FastAPIは高速という特徴があります。
そして、初心者におすすめのPythonフレームワークはDjangoです。
理由は、Pythonで最も利用されているフレームワークだからです。
Googleトレンドで検索をすると、Djangoが最も検索されています。
これは、Djangoが最も利用されていることが強く推定されます。
実際に、書籍やウェブの記事も最も多いように私は感じます。
初心者にとっては参考書籍や参考サイトがあるので、非常に有利です。
ゆえに、初心者におすすめのPythonフレームワークは、Djangoです。
そして、Djangoのフレームワークを使いこなすためには、Python基礎と応用の知識が必要になってきます。
PythonによるWebアプリケーション開発でできること
Pythonでどんなアプリケーションを作れるでしょうか?
具体的な例をいくつかあげてみます。
-
タスク管理ツール
タスク管理ツールを構築することができます。
ユーザーの登録やログイン、タスクの作成や編集、期限の設定や通知などの機能などを実装していきます。 -
ソーシャルメディア構築
Twitter、Facebook、Instagramなどのようなソーシャルメディア構築することができます。
ユーザーのプロフィール管理、投稿の作成や編集、コメントやいいね機能などを実装していきます。 -
ECサイト構築
ECサイト構築も可能です。
今の世の中には、Shopifyなどの便利なECサイト構築サービスがあります。
実際にECサイトでものを販売する際は、セキュリティやメンテナンスの観点でShopifyなどのサービスを利用することをおすすめします。
しかし、ポートフォリオ制作という意味では意義があります。
ユーザー登録、商品の掲載や検索、購入手続き、レビューの投稿などの機能を実装していきます。 -
ブログサイト構築
ブログサイトを構築することができます。
記事の投稿や編集、カテゴリー分類、コメント機能、検索機能などを実装していきます。 -
分析ツールの構築
PythonのライブラリであるStreamlitを使うと、TableauやPowerBIのようなGUIで操作できる分析ツールを構築することができます。
これにより、非プログラマであっても、分析が可能になります。
データのアップロードとダウンロード機能、データベースとの接続の機能、GUIで操作できる機能、機械学習を使った予測の機能を実装していきます。 -
自動化のアプリケーション構築
Pythonでは業務自動化のところでご説明したようなプログラムを作ることができます。
ただし、非プログラマの方だと、そのプログラムを実行するのは難しいです。
そこで、Pythonプログラムを誰でも簡単に実行できるようにするために、GUI(Graphical User Interface)を持つアプリケーションを作成するのが良い方法です。
Thinkerなどの Pythonの標準ライブラリで、シンプルなGUIの自動化アプリケーション構築することができます。 -
ChatGPTを活用したアプリケーション構築
業務自動化のところでもお話ししましたが、ChatGPTにはAPIがあります。
このChatGPT APIを利用をして、チャットボットのアプリケーションを開発したり、コンテンツ生成のアプリを作ったり、Q&A のアプリンを作ったりできます。
PythonによるWebアプリケーション開発の学習時間
以上のように、PythonによるWebアプリケーション開発を習得するには、「Python基礎 → Python応用 → Djangoなどのフレームワーク」の順番でPython学習を進めていきましょう。
では、PythonによるWebアプリケーション開発の習得までにかかる学習時間
キノコードが運営するPython学習サービス「キノクエストのベーシックプラン」には、Python入門応用の問題が、約400問あります。
1日1時間ずつ勉強をして、1日10問進めれると仮定します。
そうすると、40日間で終わることになります。
ただし、復習などを含めると、その倍はかかると想定されます。
したがって、Python入門応用までにかかる時間は、約3ヶ月(80日間)と想定されます。
また、Pythonオンラインスクール「キノカレッジ」には、Webアプリケーション開発クラスがあります。
ここでは、アプリケーション開発に必要な基礎知識を3ヶ月で学び、その後、ポートフォリオ制作に役に立つミニプロダクトの開発を3ヶ月かけて学びます。
そこまで学習ができれば、ご自身でポートフォリオ制作が可能になります。
あとは、ご自身でポートフォリオをどんどん作っていきつつ、必要な知識を補っていけばよいです。
したがって、PythonによるWebアプリケーション開発の学習時間は、合計9ヶ月になると想定されます。
Pythonで作りたいものがない方
Pythonで作りたいものがないが、Pythonを覚えたい人はどうしたらいいでしょうか?
先日私がツイートした内容は下記です。
Pythonでできることを大きく分けると、3つです。
(1) 業務の自動化(Webスクレピング、Excel自動化、ファイルやフォルダ操作など)
(2) データ分析、機械学習
(3) Webアプリ開発全人類に、おすすめしたいのは、(1)です。
どんな仕事にも、成果に直結しない雑務のような仕事があるからです。 pic.twitter.com/UujJMw6Xgo— キノコード|プログラミング教育系YouTuber(16万人) (@kino_code) November 6, 2022
以上のように、すべてのビジネスパーソンにおすすめしたいのは、「業務自動化」です。
そういった仕事を自動化をして、仕事の成果につながるような仕事にリソースを集中したほうが良いと考えています。
自分だけではなく、チームや部署の業務を自動化できたら、会社で大きく評価されると思います。
その後、データ分析やデータ活用、または、業務自動化を誰でも使えるようにツール化するためのWebアプリ開発にいかれるとよいと思っています。
したがって、Pythonで作りたいものがない方は、「業務自動化」をすることをおすすめします。
また、習得までにかかる時間を【入門者向け】Pythonの学習目的別の勉強ロードマップ|Pythonで作りたいものは何?の記事で紹介しています。
ご興味ある方はこちらもお読みください。
## Pythonを最短で習得したいなら
キノコードでは、Pythonを習得するためのプログラミング学習サービス「キノクエスト」を運営しています。
このサービスは、最短でPythonを習得するために作れたサービスです。
プログラミングは、本を読んだり、動画をみただけでは習得ができません。
ソースコードを書くことが、Pythonができるようになります。
また、キノクエストには、作りたいものに分けて、学習カリキュラムがあります。
したがって、学習順番に悩むことなく学習を進められます。
また、コミュニティも運営しているので、わからないことがあれば仲間に質問することができます。
キノクエストの特徴は下記の通りです。
- 学習目的別に学習カリキュラムがある
- Python学習をしている仲間が集まるコミュニティがある
- 1000問以上の問題を解いてプログラミングを習得ができる
- 環境構築不要ですぐに始められる
- 動画と連動しているので、インプットもできる
- 月額1,990円とプログラミングスクールと比較しても圧倒的に低価格
キノクエストを詳しく知りたい方は、紹介ページをご覧ください。
▼キノクエストの紹介ページはこちら▼
https://kino-code.com/kq_service_a/