ども、木村です。大手IT企業でデータサイエンティストとして仕事をしています。
2年前まではPythonを全く触ってこなかった私でも現在はPythonを活用したWeb及びAPIの開発や、データ分析を業務として担当しています。
今回は現役エンジニアの私がPythonに入門することができるサイトを厳選しましたので参考にしていただけたら嬉しいです。(無料版と有料版の両方を厳選しています。)
Pythonを勉強する前に
Pythonは需要があるの?
世界中のソースコードを管理しているGitHubによると、2019年に利用されているプログラミング言語としてPythonが2位にランクインし、長年上位をキープしていたJavaを追い越す状況となりました。
下記のグラフは世界中のソースコードを管理しているGitHubが公開した利用されているプログラミング言語の統計を表したものです。
Pythonは非常に昔からある言語で、かつ構文もシンプルで処理能力も高いことから近年、機械学習やディープラーニングの分野で注目されるようになりました。また、Web開発でもPythonを利用する企業が増えていることから非常に汎用的で、自身のキャリアの幅を広げることのできるプログラミング言語として人気です。
現在、Pythonを利用したプロジェクト数が増えているから直近2、3年はこのような需要が継続すると考えられます。
Pythonの何に入門すれば良いのか?
では、具体的にPythonのどのようなことについて入門しなければいけないのでしょうか。
結論、「基本構文」→「WebやAPI構築のためのフレームワーク」の順に学ぶことをお勧めします。
本記事では、それぞれの要素に対し無料で学べるサイトと、有料で学べるサイトの二つの観点でご紹介いたします。
Pythonに入門できるサイト
基本構文
Pythonに入門する際はまず最初に、Pythonの実行環境の準備や、変数・if文・関数の書き方など、Pythonを扱う上で最低限知る必要のある環境構築方法と基礎構文について理解していくと良いでしょう。
無料サイト
Python-izm
Python-izmは、Python入門者にとっては最強の無料コンテンツです。Pythonの基礎構文はもちろんマルチスレッドなどの中級レベルの内容まで網羅されています。解説もありますので、手を動かしながら勉強することが可能です。
デメリットとして、やはり文章を読みながら淡々と学習を進めることになるので時に退屈になってしまうかもしれません。例えば他サイトの1000円弱の有料版のコンテンツの場合、「プロトタイプのプロダクトを作りながら」とか、「途中で応用問題を挟みながら」などインプットとアウトプットをバランスよくやってくれるので、学習が継続する傾向があると思っています。
そのため、無料で学習を継続した場合、Python-izmだけでなくアウトプットできる環境が必要になります。そこでお勧めしたいのが、paiza(パイザ)というWebサービスです。
paiza(パイザ)
paiza(パイザ)にはプログラミングスキルチェックというサービスが存在します。このサービスは、paizaが用意した問題を、指定の実行環境で動かし解いていくことでエンジニアのスキルチェックをしてくれるサービスです。スキルレベル以下のような構造で成り立っています。
まずはCランク(基本的な実装スキル)に到達することを目指して学習を進めてみてください。
Python-izmでインプット、paizaでアウトプットを並行して実施することで学習の効率と継続性を向上できます。
有料サイト
無料コンテンツでも十分に学習をすることができますが、「難しい問題に直面した時、誰かに相談したい」または「この技術は実際に現場でどのように活用するんだろう」と言った課題や疑問が発生することがあると思います。有料コンテンツでは主にこのような問題を叶えてくれると考えて良いと思います。
有料コンテンツの学習では、基本的にUdemyの利用をお勧めしています。
理由としては、
- 一緒に勉強した仲間のコメントがわかる(つまずきポイントと解決策が載っている可能性が高い)
- 講師に不明点を質問できる。
- 有料なPythonのコンテンツがたくさんある。
- 返金保証がある。
からです。
上記のようなことを叶えてくれる有料サービスとしてUdemyは非常にコスパの良いサービスかと思います。
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
中でも私が特にお勧めしたいUdemy講師はシリコンバレーエンジニアの酒井 潤さんの講座です。
基本構文の網羅性はもちろんのこと、実際に現場でどのように活用しているのかまでフォローしています。
Pythonの入門から応用まで完璧に抑えていますので、正直この講座をやるだけで「基本構文」→「WebやAPI構築のためのフレームワーク」→「データ分析」→「機械学習」を学ぶことが可能です。
WebやAPI構築のためのフレームワーク
このフェーズでは、Webサービス、またはAPIを作りやすくしてくれるフレームワークという仕組みを勉強する必要があります。2021年現在、Pythonで人気のWebフレームワークとしてDjangoとFlaskが挙げられます。
どちらも現場では重要なスキルセットとなるので、このフェーズでしっかり勉強しておきましょう。
無料サイト
先ほど紹介したPython-izmにもDjangoについて掲載されていますので、そちらで継続して学習可能ですが、あえて違うコンテンツをご紹介するとしてたらUdemyの無料教材がお勧めです。
【最短30分でできる!】Django2.1入門: 初心者でも簡単! ブラウザだけでDjangoを使ったWeb開発!
30分という短時間でDjangoの入門レベルの内容を学習することが可能です。料金は無料なのでまずは感覚をつかむためにも気軽に学習してみましょう。
paizaラーニング:Webアプリ開発入門 Flask編 (全5レッスン)
Flaskについて入門レベルの内容を学ぶのであれば、paizaラーニングが手軽でお勧めです。
こちらも無料コンテンツの内容のみで十分です。
有料サイト
フレームワークの学習としては、先ほど紹介した「現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル」のUdemy教材で十分学ぶことが可能ですが、あえて別の教材をお勧めするとしたら以下の二つの教材がDjango、Flaskに特化しておりお勧めです。
【徹底的に解説!】Djangoの基礎をマスターして、3つのアプリを作ろう!(Django2版 / 3版を同時公開中です)
Django2版 / 3版に分けて実際にアプリケーションを作成しながら学習を進めることができます。
非常に多くのプロトタイプをこなしていくことになるので、教材が終わる頃にはかなり身体に染み付いてくると思います。ちなみにプロトタイプではありますが、自作したサービスのWeb公開も本教材でカバーしているのでまだWebの公開をやったことがない方は必見です。
Python+FlaskでのWebアプリケーション開発講座!!~0からFlaskをマスターしてSNSを作成する~
Flaskは軽量なWebフレームワークとして人気です。こちらの教材ではFlaskの基本的な実装はもちろん、実務で必須になる単体テストのやり方やセキュリティ対策で必須の認証機能の実装など実践的な内容を提供しています。
まとめ
Pythonは昔からある言語でかつ、現在まで人気が継続していることから無料であっても独学で学習を進めることは十分に可能です。
しかしながら、インプットとアウトプットのバランスを自分で取りながら学習しなければいけないで、途中で挫折してしまう方が多いのも事実です。
そのため、Udemyのセールタイミングを狙って低価格の有料サイトで勉強することをお勧めします。
早速、Pythonの勉強に取り掛かりましょう!