[chat face=”komatta_man2.png” name=”Pythonが気になる人” align=”left” border=”gray” bg=”none”]これからPythonを学んでいきたいんだけど、完全初心者で分からないことが多いな…。
Pythonをマスターするために「必要な知識」がまとまっている記事があったら嬉しいな![/chat]
この記事では、上記のような悩みを解決していきます。
[jin_icon_check color=”#0071BB” size=”20px”] この記事の内容
- Python初心者のギモン7つ
- Pythonのメリット・デメリット
- Pythonの学習手順【基礎編】
- Pythonの学習手順【応用編】
この記事を書いている僕は、Pythonを使って毎日仕事しているフリーランス。
今でこそエンジニア業をしていますが、大学時代はプログラミングで挫折した経験があります。
しかも、1度ではなく2度です。控えめに言って、ザコでした。
今回はそんな僕が『初心者からPythonをマスターするために必要な知識まとめ』を紹介していきます。
ゼロからプログラミングを勉強し始めた当時の僕が、「こんな記事があったら嬉しいな〜」と思うような記事を書きました。
この記事を読み終えれば、Python初心者が知っておくべきことがすべて分かり、脱初心者できるようになります。
プログラミングで2度も挫折した『過去の僕』に向けて書いているので、これからPythonを学びたいと考えている人の役に立つはずです!
Python初心者の『ギモン』7つ!【現役が解答します】
よくある『ギモン』を解消して、まずはPythonのことを知りましょう。
【初心者のギモン①】Pythonはなぜ人気なの?
Pythonは、プログラミング言語人気ランキングで、第2位を獲得しているプログラミング言語です。
≫参考 : プログラミング言語人気ランキング2020、2位に「大躍進」したあの言語
なぜPythonが人気なのかといえば、その理由は以下のとおりです。
- 初心者でも分かりやすく、習得しやすいから
- 『AIを作る = Pythonを使う』が慣習だから
- Python1つで、色々なことができるから
特に、近年の機械学習ブームで、Pythonの人気は急上昇しました。
AIを作るとなったら、まず間違えなくPythonが選ばれます。
それに加えてPythonが人気な理由は、初心者でも習得しやすいところ。
僕自身、大学時代にC言語とJavaは難しすぎて挫折しましたが、Pythonは「ちょっと苦労したかな…」って感じで習得できました。
AIを作るのにJavaやC言語などの、「難しいプログラミング言語」が使われていたら、ここまでPythonは流行っていなかったでしょう。
「機械学習の流行 × 習得のしやすさ」で、Pythonの人気は年々高まっています。
【初心者のギモン②】Pythonを使って、できることは?
Pythonを学ぶと、これ1つで色々なことができます。
[jin_icon_check color=”#0071BB” size=”20px”] Pythonで出来ること
- AI・機械学習
- データ分析・データサイエンス
- Webアプリ開発
- Webスクレイピング
- Excel処理
- ゲーム開発
- ブロックチェーン開発
上記のとおり。
Pythonを習得すると、AIだけでなく色々なものを開発できます。
[jin_icon_check color=”#0071BB” size=”20px”] 動画でも解説しました
色々な開発ができる理由は、『ライブラリ』が豊富に揃っているからです。
[jin-iconbox10]
ライブラリ :
ゼロからプログラムを書くのではなく、よく使う機能を最初から作って、まとめておいたもの。[/jin-iconbox10]
たとえば、ゼロからAIを作ると1,000行くらいのコードになります。
でも、ライブラリを使うと、20行くらいでAIを開発できる感じです。
Pythonには、目的に応じて『ライブラリ』が揃っているので、色々なものを開発しやすくなっています。
Pythonで作るもの | ライブラリ |
ディープラーニングを使ったAI | TensorFlow / Pytorch |
データ分析・データサイエンス | Numpy / Pandas / Scipy / Matplotlib / Seaborn / Scikit-learn |
Webアプリ開発 | Django / Flask |
よくある話で「プログラミングを学んでみたいけど、特に作りたいものが決まっていない…」という人がいます。
そういった場合には、選択肢を増やす意味でPythonでオススメですね(`・ω・´)!
色々な開発を体験してみた結果、自分がやりたいことを見つけられます。
【初心者のギモン③】Pythonって難しいの?習得時間はどれくらい?
Pythonは、プログラミング言語の中だと、比較的『カンタン』です。
≫参考 : 【疑問】Pythonは習得が難しいのか?【結論は「NO」です】
僕は大学時代の授業は、友達のコードをコピペしていたので、実質Pythonが初めてのプログラミング言語でした。
それでも、Pythonを習得して、今ではエンジニアをやっています。
オブジェクト指向だけ少し難しいですが、基本的な文法は直感的に理解しやすいので、初心者でも安心して学習できます。
[jin_icon_check color=”#0071BB” size=”20px”] Pythonの習得に必要な時間
Pythonの基礎学習であれば、30時間くらいで習得できます。
その根拠は、プログラミング学習で人気な『Progate』の学習コースが、一周するのに約9時間だからです。
さすがに一度で理解するのは無理ゲーなので、だいたい2〜3周しつつ、分からない部分を追加で調べるイメージですね。
僕自身、プログラミング未経験からPythonを勉強したときは、2週間くらいで基礎学習を終了させました。
1日2時間の勉強時間を確保できると、2時間×14日 = 28時間
なので、やはり30時間ほどで基礎学習できる感じです。
ただし、あくまでも基礎文法なら30時間です。
発展的なことを学んだり、エンジニアを目指すとなると、さらに時間が必要になる感じですね。
一般的に、プログラミングの習得に必要な時間は、200〜250時間だと言われています。
【初心者のギモン④】Pythonを学んだあと、どんな仕事があるの?
Pythonを使って仕事する職業は、以下のようなものがあります。
- AIエンジニア
- データアナリスト
- データエンジニア
- データサイエンティスト
- サーバーサイドエンジニア
- システムエンジニア
- インフラエンジニア
僕は『データサイエンティスト』に該当しますね。
とはいえ、「Pythonができる」と理由で、スタートアップで『サーバーサイドエンジニア』として働いた経験もあります。
逆に、「サーバーサイドエンジニア→データサイエンティスト」に転身する人がいたりと、、、Pythonを学んでおくと、色々なチャンスを掴めるようになります。
最近だと、「Pythonができる人材が欲しいけど、なかなか人が集まらない」って事情もあって、年収も高めですね。
『仕事の獲得』といった意味だと、Python以上にフレキシブルな言語はないです(`・ω・´)!笑
【初心者のギモン⑤】Pythonに資格試験はあるの?
Pythonを使った資格試験は、以下の3つあります。
- Python3 エンジニア認定基礎試験
- Python3 エンジニア認定データ分析試験
- 基本情報技術者試験(※Pythonではなく情報系の資格です。)
『Python3 エンジニア認定基礎試験』と『Python3 エンジニア認定データ分析試験』は、最近できたばかりの資格試験です。
ゆえに、認知度がまだまだ少ない状況で、資格取得しても「あんまり意味ないかな…」といった感じですね。
基本情報技術者試験は、昔からある情報系の資格試験です。
この資格は、エンジニアをやるのに必要な知識が詰まっているので、受験する価値アリです(`・ω・´)!
【初心者のギモン⑥】Pythonは何を使って勉強すれば良いの?
結論、自分に合ったやり方が良いです。
- 本・書籍を使った勉強
- 動画を使った勉強
- Webサービスを使った勉強
僕は、動画やWebサービスで基礎を学ぶのがおすすめですが、なかには本で学ぶのが好きな人もいるはず。
自分に合った方法で、Pythonを習得しましょう。
[jin_icon_check color=”#0071BB” size=”20px”] 本・書籍を使った勉強
プログラミング自体はじめてなら、以下の書籍から入門するのがおすすめです。
僕の知っている書籍で、一番やさしく書かれています。
プログラミング学習における最強の敵は『挫折』ですが、この本を使えば問題なくPythonに入門できます。
ただし、学べる内容は入門まで。さらに勉強するなら、他の本を使う必要があります。
他の本が気になる場合は、『現役Pythonエンジニアおすすめの本』から選んでみてください。
[jin_icon_check color=”#0071BB” size=”20px”] 動画を使った勉強
Pythonを動画で学ぶなら、以下を使うのがおすすめ。
- YouTube : 無料で学べる / 入門におすすめ
- Udemy : 有料 / 質の高い教材が多い
上記ですね。
YouTubeでPython 入門
とかで調べると、たくさん入門動画が出てきます。
ちなみに僕自身、YouTube動画でPython入門講座を作っています。笑
よろしければ、使ってみてください。無料です。
また、UdemyでおすすめのPython講座は、以下の記事が参考になります。
[jin_icon_check color=”#0071BB” size=”20px”] Webサービスを使った勉強
Webサービスを使う場合は、『Progate』を使って勉強することになります。
ProgateはWeb上で動くので、パソコンにPythonを入れなくても、ネットがあれば勉強できます。
「プログラミング学習する」となったら、だいたいProgateが使われますね。
ゲーム感覚で学べるので、やっていて楽しいはずです。
ただし、月額1,000円くらいかかるので、お金をかけたくないなら向かないですね。
≫参考 : 【評判】Progateの有料会員ってどうなの?【LP作れました】
【初心者のギモン⑦】どうやってPythonを始めるの?
Pythonを使うには、自分のパソコンにインストールする必要があります。
そして、少しややこしいのですが、Pythonをインストールする方法は2つあります。
- python.orgからインストール
- Anacondaをインストール
Anacondaは、Pythonだけでなく、周辺ライブラリも一緒に入っている感じです。
ちょっと雑ですが、ドラえもんに登場する『タケコプター』で例えてみました。
- python.orgからインストール → タケコプターだけゲットする
- Anacondaをインストール → 四次元ポケットごとゲットする
ざっくり、こんな感じ。
要するに、Anacondaを使ってPythonをゲットすると、スモールライトとかの周辺道具も付いてきます。
どっちもPythonを使えることに変わりないので、お好きな方でPythonをインストールすればOKです。
個人的なおすすめは、Anacondaですね。初心者でも使いやすいです。
もしMacを使っていたら、以下の記事を参考にすればPythonをインストールできますよ。
≫参考 : 【Mac向け】AnacondaをインストールしてPython環境の構築
[jin_icon_check color=”#0071BB” size=”20px”] 朗報 : パソコンにインストールしなくてもPythonを使えます
Googleが提供しているGoogle Colaboratoryを使えば、パソコンにインストールしなくてもPythonを使えます。
≫参考 : 【Python初学者向け】Google Colaboratoryの使い方を懇切丁寧に紹介
ネットを使える状況にあれば、これが最もカンタンにPythonを使う方法です。
ぜひ参考にしてみてください。
また『Pythonを使えるようにすること = 環境構築』と言います。Anacondaを入れたりすることですね。
Pythonの環境構築は、色々と手法があってややこしいので、以下の記事にまとめておきました。
≫参考 : 【Windows/Mac】Pythonで環境構築する4つの方法【おすすめは1つ】
動画でも解説しています。
Pythonのメリット2つ!
Pythonのメリットは、以下2つです。
- 初心者でも学びやすい
- Pythonを使う求人数が多い
順番に確認しましょう。
Pythonのメリット① : 初心者でも学びやすい
Pythonは、初心者に優しい言語ですね。
たとえば、『もし数字の3以上だったら、「3以上」と表示する。』プログラムを書いてみます。
if a >= 3: print('3以上')
直感的に見ても、
if
を使えば条件分岐できて、print
を使えば表示できる
ということが分かるはず。
Pythonはこのように、シンプルかつ直感的に分かるようになっています。
はじめてのプログラミング学習でも安心です。
Pythonのメリット② : Pythonを使う求人数が多い
Pythonは、エンジニア求人数が多いのも特徴です。
エンジニア求人の多い『Wantedly』で、求人数を確認してみます。
[jin_icon_check color=”#0071BB” size=”20px”] Pythonの求人数 : 4,182件
上記のとおりで、4,182
件です。
エンジニア求人が多いと言われている、プログラミング言語Ruby
でも確認してみましょう。
[jin_icon_check color=”#0071BB” size=”20px”] Rubyの求人数 : 4,494件
上記のとおりで、4,494
件です。
一昔前までは、Rubyが圧倒的な求人数でした。でも、最近ではPythonも同じくらいの求人数になっています。
なお、フリーランス案件数も同じような傾向です。
習得のしやすさとエンジニア求人数を見ても、Pythonからプログラミング学習を始めるのは得策だと言えますね。
≫参考 : 【比較】RubyよりPythonを学ぶべき4つの理由【初学者向け】
Pythonのデメリット2つ
対して、Pythonのデメリットが以下です。
- 副業案件が少ない
- Webアプリ開発の案件は少ない
Pythonのデメリット① : 副業案件が少ない
Pythonを使った副業案件は少ないです。
ちょっとPythonで出来ることを復習しましょう。
- AI・機械学習
- データ分析・データサイエンス
- Webアプリ開発
- Webスクレイピング
- Excel処理
- ゲーム開発
- ブロックチェーン開発
上記のとおりで、サクッと開発できるというよりは、ガッツリ時間を必要とするものが多いですよね。
たまに副業案件であるのが、Webスクレイピングですかね。
その他は、最低でも週3日〜の稼働が必要になります。
ゆえに「プログラミングを学んで、副業で稼ぎたい!」といった場合には、Pythonは不向きだと言えますね。
Pythonのデメリット② : Webアプリ開発の案件は少ない
Pythonを使った案件は、機械学習やデータサイエンスが多いです。
というのも、Webアプリ開発でPythonを使うのって、AIの機能を搭載したアプリを作りたいときなんですよね。
純粋にWebアプリの開発をしたいとなったら、RubyとかPHPを使うことが多いです。
「Webアプリ開発するエンジニアになりたい」と思ったら、PythonではなくRubyやPHPを選択するのが良いかと。
まだやりたいことが決まっていないなら、Pythonから入門してしまうのが良いですね。
Python初心者は、基礎学習から始めよう【手順を紹介】
ここまで読んで「Pythonを勉強してみたい」と思ったら、さっそく基礎学習を始めていきましょう。
詳細は『Pythonの独学完全ロードマップ』に書いていますが、手順だけ紹介すると以下のとおりです。
- 手順① : ProgateでPythonの基礎を学ぶ ≫ Progateの公式ページ
- 手順② : Pythonの練習問題を解く ≫ Python3の練習問題
- 手順③ : 優良な動画教材でPythonを勉強する ≫ 優良な動画教材(Udemy)
挫折せずにPythonを習得したい方は、ぜひ参考にしてみてください。
脱初心者!Python応用の学習方法を、パターン別に紹介
Pythonの基礎学習を終えたら、次は応用編を勉強しましょう。
それぞれのパターン別で、おすすめの勉強方法・教材をまとめました。
パターン① : AI・機械学習を学ぶ
AI・機械学習で必要な知識は以下です。
[jin-iconbox12]
- Pythonの知識 (※習得済み)
- 機械学習の知識
- 機械学習ライブラリの知識
- 統計学の知識
[/jin-iconbox12]
Pythonの知識に追加して、機械学習と統計学を学ぶ感じです。
機械学習の学習は、動画で入門するのが良いですね。
おすすめ①とおすすめ②は機械学習の理論面、おすすめ③は機械学習の実装面を学べます。
他にも、機械学習の動画教材は優良なものが多いので、『Udemyでおすすめの機械学習コース』から気になるものを選んでみると良いです。
統計学の知識は、基本的に書籍を使って学んでいきましょう。
≫参考 : 【入門書まとめ】統計学でおすすめの本5冊を数学科出身が紹介
統計学の独学方法は、以下が参考になります。
パターン② : データ分析・データサイエンスを学ぶ
先にデータ分析やデータサイエンスで必要な知識をまとめてみました。
[jin-iconbox12]
- Pythonの知識 (※習得済み)
- Pythonライブラリの知識
- 作図の知識
- 統計学の知識
- 機械学習の知識 (※データサイエンスのみ)
[/jin-iconbox12]
つまり、新しく3〜4つの知識を学ぶ必要があります。
[jin_icon_check color=”#0071BB” size=”20px”] データサイエンス入門におすすめの教材
Pythonと同様に、動画で入門するのがオススメです。
≫ 参考 : 【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門
この動画を使えば、『データ分析から機械学習の基本までの一連の流れ』をおさえられます。
講師を務めているのは、現役のデータアナリストなので、間違えなく勉強になりますね。
まずは、『データサイエンス入門の動画』で流れをつかみ、そのあとに書籍を使った学習にチャレンジするのが良いかと。
データサイエンスでおすすめの本は、以下をどうぞ。
また、僕がデータサイエンティストなこともあり、『どのような手順で学習を進めれば良いのか』を書いた独学ロードマップがあります。
まったくのゼロからデータサイエンスの基礎を学べるように書いたので、ぜひ参考にしてみてください。
パターン③ : スクレイピングを学ぶ
そもそもスクレイピングが何かと言うと、『Webページから情報を抜き出すこと』です。
たとえば、僕が書いているブログ記事数は、全部で250くらいあります。
もし全ての記事をコピーしようと思ったら、、、骨が折れる作業ですよね。
それがスクレイピングを使えば、プログラムを使って自動でテキストを取得できます。
少しハッカーっぽくて、面白そうですよね。たまにデータ分析系の案件で必要になる技術なので、勉強しておいて損はないです。
なお、スクレイピングに必要な知識は以下のとおり。
[jin-iconbox12]
- HTML/CSSの知識
- JavaScriptの知識 (※勉強しておくと便利)
- Pythonの知識 (※習得済み)
- スクレイピング用Pythonライブラリの知識
- httpなどWebの知識 (※勉強しておくと便利)
[/jin-iconbox12]
テキストを取得するなら、HTML/CSSの知識だけあれば大丈夫です。Pythonの学習でも活用した『Progate』を使って基礎固めしていきましょう。
HTML/CSSを学べたら、あとはPythonライブラリを使えばスクレイピングできます。
ただし、スクレイピングするときは注意点も存在するので、『PythonでWebスクレイピングする方法』を参考にしつつ学習を進めてみてください。
パターン④ : Webアプリ開発を学ぶ
Pythonを使えば、アプリケーションも開発できます。
必要な知識は、以下のとおりです。
[jin-iconbox12]
- HTML/CSSの知識
- JavaScriptの知識 (※勉強しておくと便利)
- BootStrapの知識
- Pythonの知識 (※習得済み)
- Django/FlaskなどのWebフレームワーク
[/jin-iconbox12]
≫参考 : PythonのWebアプリ開発に必要な知識を紹介【高校生OK】
Pythonでアプリを開発するなら、DjangoやFlaskなどのWebフレームワークが必要になります。
正確にいうと、Webフレームワークがなくても作れますが、これもライブラリの考え方と一緒です。自分でゼロから作る必要はなく、よく使う機能はWebフレームワーク側で準備されています。
なので、HTML/CSSをProgateで習得したあとは、DjangoやFlaskの勉強をしていきましょう。
なお、DjangoとFlaskの使い分けは、だいたい下記のとおりです。
- Django : 中〜大規模向き
- Flask : 小〜中規模向き
≫参考 : 【Django vs Flask】PythonでWebアプリ作るなら?【結論 : 目的次第】
初心者が学ぶなら、教材の多いDjangoを選ぶのが良いでしょう。
[jin_icon_check color=”#0071BB” size=”20px”] Django入門でおすすめの教材
Djangoに入門するなら、以下の動画がおすすめです。
≫参考 : 【Python 3 x Django 2.0】作りながら覚えるDjango
アプリを作るだけでなく、実際にネット上に公開する部分も学べますので、入門から実践的な内容までしっかり学べます。
動画なので挫折する可能性も低いし、Djangoに入門するなら最適な教材ですね。
動画教材を学習したあとや、合わせて勉強した方が良いことは、『Djangoの独学ロードマップ』にまとめました。
合わせてご覧ください。
パターン⑤ : Excel処理を学ぶ
Pythonを使って、Excel処理できるようになります。
そして、Excel処理については、以下の一冊を勉強すればOKです。
「Excel処理の本」というよりは、「Pythonを使った自動化を学べる本」ですね。
少し分厚いですが、やさしく書かれているので、挫折する可能性も低いかと。
Pythonの自動化に興味ある人は是非。
パターン⑥ : ブロックチェーン開発を学ぶ
Pythonを使うと、ブロックチェーンの開発もできます。
[jin_icon_check color=”#0071BB” size=”20px”] ブロックチェーン入門でおすすめの教材
≫参考 : 現役シリコンバレーエンジニアが教えるPythonで始めるスクラッチからのブロックチェーン開発入門
『ブロックチェーンの仕組み』から、分かりやすく解説されている教材です。
レクチャーしている講師は、現役のシリコンバレーエンジニア。それだけで、受講する価値アリですね。
ただ、『ブロックチェーン開発入門』を学ぶ前に、TCP/IPなどネットワークの知識を学んでおくと理解しやすいかと。
細かい学習手順は、『ブロックチェーン実装でおすすめの勉強法』に書いています。ぜひ参考にしてみてください。
【Python初心者で独学が難しい場合】プログラミングスクールを活用しよう
独学が厳しくなったら、プログラミングスクールの活用も検討すると良いです。
とはいえ、「最初は独学で挑戦してみて、お金に余裕があったらスクールを活用しようかな」くらいで良いと思います。
なかには、TechAcademyのように、無料体験を実施しているスクールがあります。
いきなりスクールに申し込むのではなく、まずは無料の範囲で使っていきましょう。