私はIT企業の営業職でエンジニアリング経験はありませんでしたが、独学でPythonを学習し、今ではデータサイエンスのサイト、Kaggleに挑戦できるまでに成長することができました。
今回は私がPythonの学習に利用し、とても役に立ったPyQ(パイキュー)というサービスについて解説させていただきたいと思います。
ちなみにタイトルの120時間とは、実際に私がPyQで一通りの学習を終えるまでにかかった時間です。効率よく広範囲なスキルを習得することができますよ。
PyQとは – オンラインで本格的にPyQを学ぶ
また、PyQ公式のtwitterアカウントもあります。PyQの新サービスリリースの他、Pythonコーディングのトラブルシュートなども頻繁につぶやかれていますのでとても助かります。
PyQのざっくりした説明
PyQはWebブラウザとインターネット環境のみでPythonを学ぶことができるサービスです。ブラウザさえ使えれば他に何か用意する必要がないため、非常に簡単かつ素早く学習を開始できます。
また、初心者向けの文法の指導に始まり、ユニットテストの書き方や実際にWebアプリケーションの開発など実務クラスのプログラミングを自分で書きながら習得することができます。
下記にPyQのチュートリアルのビデオをご紹介します。とても簡単に始められることがわかるかと思います。
PyQの進め方:『クエスト』を解きながら習得
PyQの特徴的な学習方法として、『クエスト』と呼ばれる短いコーディング課題の集まりからなります。
クエストが集まってできた、一連の処理や実装フローのことをコースと呼びます。2020年3月現在、27個のコースが存在します。
下の図をご覧ください。「Pythonはじめの一歩」はコースを示しており、このコースは文字通りPythonの基礎を学ぶことができます。コースの中の1枚1枚のカード、例えば『print()、変数』や『計算、if文』がクエストです。ひとつのクエストでは中程度の長さのプログラムを穴埋めで完成させる構造になっていて、文法や表現を学びつつ、実際に使えるレベルのコードを完成させて行きます。
この、実際に使えるサンプルを自分で完成させるというのが個人的に非常に気に入っています。プログラムを独学で学ぶ際、書き方ばかり学んで実際に全体を記述することにつながらない経験がよくあります。PyQでは実用的なコードを書きますので全体を俯瞰しつつ書き方を学ぶことができます。

豊富な学習内容
PyQではシンプルでありながらかなり多岐にわたる学習が可能です。2019年10月現在、前述のコースは30弱、クエストは数百が存在します。
コースについてはプログラミングまったくの未経験者を想定した入門に始まり、Pythonの基本文法、データベース、Webアプリケーション、データ分析、テストの書き方、流行りの機械学習についても学ぶことができます。後ほど細かくご紹介します。
とにかく学習テーマが豊富で、これは他のサイトの多くが多言語対応なのに対し、PyQではPythonに特化しているがゆえの深さであると思います。
とにかくコスパがいい!
前述のように豊富な学習内容でありつつ、価格は抑えられています。
現在個人向けのプランはライトとスタンダードの2種類があり、それぞれ月額2,980円と7,890円です。2つのプランの違いは、スタンダードでは自分のわからないことを掲示板で質問でき、それにメンターが回答してくれます。

学ぶことができるクエストの数自体に変わりはありませんので、自身のモチベーションに合わせて選ばれれば良いと思います。ちなみに、わからない箇所に関しては検索すればある程度Web上の情報でも解決できるところもありましたので、私はライトプランでも特に不都合は感じませんでした。
Pythonを学ぶための他の手段と費用面で比較しますと
- 専門書:3,000〜4,000円程度。有名なO’Reillyは約4,000円
- プログラミング学習サイト:1,000円〜
- 参加型プログラミング教室:数万円〜十数万円
となります。書籍1冊買うお金があれば1ヶ月PyQで学ぶことができます。他の有料学習サイトの中にはPyQよりも安いものもありますが、学習の濃度ではPyQのほうが優れていると私は感じました。
PyQで学べること
PyQではいくつかの専門的なコースが用意されています。すべてこなしてもいいですし、興味領域が決まっているのなら該当箇所を中心にこなしてもいいでしょう。
タイトルにもあるように、私は3ヶ月間にわたり、各月40時間ほどをかけて一通りこなしました。
オブジェクト指向
P現代のチームでのアプリケーション開発の基本となっているオブジェクト指向についても学ぶことができます。具体的にはクラスと継承ポリモーフィズムなどが一通りあります。
PyQではオブジェクト指向の演習として自動販売機の制御プログラムやブラックジャックの作り方が用意されています。CardクラスやOwnerクラス、Dealerクラスなどゲームの役割ごとにクラスを分割して記述することで、どこを直せば所望の処理に近づくか、が分かるようになっています。
このブラックジャックアプリを通じてオブジェクト指向の概念を習得できます。
Web(フロントエンド)開発
PyQではWebアプリケーションの開発のためのフレームワークとしてFlaskとDjango(ジャンゴ)を学ぶことができます。2つともPythonではメジャーなフレームワークですが、前者は比較的軽量でシンプルなアプリ、後者はエンタープライズ仕様でも利用できるような充実の内容になっています。DjangoはかのGoogleも広く採用しており、Youtubeの構築にも使われています。その他はNASAのサイトなどにも実績があります。
このコースではECサイトの買い物かご機能の実装を通してDjangoのMTV(モデル、テンプレート、ビュー)の書き方を習得できます。
データ分析と機械学習
個人的に、専門機能として一番学習が充実していると感じたのがこの分析とMLまわりです。Pythonを使ったデータ分析のデファクトライブラリであるPandas、Numpy、Scikit-Learnの利用方法に始まり、統計処理の基本も教えてくれます。
機械学習は基本的な2クラス分類を決定木とサポートベクターマシンで学ぶことができます。回帰モデルも線形、非線形とクエストがあります。
私はPyQでPythonとデータ分析の基礎を学び、今ではAWSなども使いつつある程度の分析コードが書けるようになってきました。
さらにPythonによるデータ分析と機械学習にフォーカスして勉強したい人向けに、私が買って良かったと思える書籍などを別記事にまとめています。あわせてお読みいただければ嬉しいです。
まとめ
PyQは安価に効率よくPythonを学ぶことができるサービスです。まったくプログラミング経験がない人も対象にしており、全てこなすことでプロのコーダーに入門できるくらいまでの難易度の幅が用意されています。
プログラミング経験ほぼゼロの筆者がクエストを一通りこなすのに3ヶ月程度を要しました。業務が忙しい人や週末の時間が取りにくい人はもう少し時間がかると思われます。
とにかくサービスの質と価格とのバランスが素晴らしいと思いますので、これからPythonを学ぶ方には是非おすすめしたいサービスです。
今回は以上です。お読みいただきありがとうございました。
コメント