Pythonの基礎を学んだ次は・・・

「基礎の勉強は終わった何だけど、これで何ができるのだろう」とお悩みの方に是非お読みいただきたいです!

プログラミングの基礎学習が終わってできること

結論から申し上げると、基礎学習を終えてもできることはあまりありません。

バスケットボールに例えると、基礎学習はドリブル練習やパス練習などの「基礎練習」にあたります。そうです、あの桜木が大嫌いなキソです!

しかし、基礎を疎かにして試合で活躍することは可能でしょうか?おそらくそんな描写はスラムダンクにもなかったはずです。基礎ができてこそ、本番でも活躍することができます。まさにプログラミングも全く同じで、基礎があってその上に色々な技術を積み上げていきます。

非常に残念に思われるかもしれませんが、基礎学習を終えてからスタートラインに着くのだと思ってください。勉強もスポーツも努力は永遠に続きます。でも、基礎学習を無事にやり遂げられたなら大丈夫。新しい技術を知ること、身につけることに喜びを感じられるはずなので恐れることはありません!

じゃあ、次に何をするべきか?

PHPやRubyであれば初めから「Webアプリケーションの開発」とやりたいことが定まっているケースが多いですが、Pythonの場合は、昨今の人気も影響してか「特にやりたいことが決まっていない」「人気だからやってみた」といった状態で学習を始められるケースを見聞きします。

そのような方にも参考となるような学習ステップの一例を下記に掲載します。参考にしてみてください。(もちろん下記以外にもたくさんの機能がPythonにはあります。あくまで大まかな一例として捉えてくださいね)

PythonでWebアプリケーションを作成をお考えなら

Pythonには「Webフレームワーク」というものが用意されています。要するにWebアプリケーションの開発を手助けしてくれる便利な機能です。代表的なフレームワークに「Django」と「Flask」が挙げられます。

Pythonを使って開発された有名なWebアプリケーションにYoutubeやInstagramなどがあります。これらもフレームワークを使って開発されているようです。

当然ですが、使用するフレームワークによって長所短所があります。ここでは上記のDjangoとFlaskについて簡単にご紹介します。

【Django(フルスタックフレームワーク)】

  • 良い点:機能が豊富。データベースの管理機能、ユーザー管理機能などが最初から備わっている。
  • 悪い点:機能が多すぎるが故に、学習コストがかかる。(また、扱うファイル数もFlaskに比べると最初から多いため、あっちゃこっちゃと設定することが多い)

【Flask(マイクロフレームワーク)】

  • 良い点:シンプルなアプリケーションであればサクッと作成できる。(極端な例を上げると、1ファイルだけで動作するWebアプリが作成できる)
  • 悪い点:最小限の機能しかないため、実装したい機能に合わせてライブラリを追加する必要がある。(Djangoのように実装するには手間と時間がかかる)

まずは試しにFlaskから始めてみて、慣れてきたらDjangoにチャレンジする、という流れが良いでしょう。ステップを踏むことで両者の違いがわかりますし、「こっちの方が良いな」なんて志向も生まれるでしょう。

私が読んでみて良かったなと思える書籍を紹介します。kindleなのでスペースも取りませんし、安価だったので初めの一歩にはオススメです。(画像をクリックするとAmazon.co.jpへリンクします)

Pythonで分析をお考えなら

エンジニアやプログラマーに限らず、業務でPythonを使って集計、分析、可視化を行う方が増えていますね。数値を扱う職業や職務に携わっている方なら一度は「Python」という言葉を耳にしたことでしょう。

Pythonで分析を行う場合ば「pandas」というパッケージを使用します。もちろんMUSTではありませんが、もやはデファクトスタンダードになっています。pandasは機能も豊富で、操作もそこまで難しくありません。Excelの表を連想させるデータフレーム(DataFrame)というオブジェクトを生成して集計を行います。また、グラフ作成には「matplotlib」を使うことが主流です。pandasにもグラフ作成の機能が備わっていますが、細かい設定はできないので、matplotlibが使われます。

「Pythonでデータ分析してみたい!」とお考えの方は、pandasとmatplotlibを扱えるようになりましょう。使いこなせるようになったら、機械学習で使われるパッケージ「scikit-learn」もスムーズに取り組むことができるでしょう。

先程のWebアプリで紹介した本と同じ著者ですが、pandasとmatplotlibの操作方法をシリーズで展開しています。どれもハンズオン形式なので、3冊読了すれば2つのパッケージをスムーズに扱えるようになることでしょう。(画像をクリックするとAmazon.co.jpへリンクします)

まとめ

いかがでしたでしょうか?今回は基礎学習を終えた後にどう進むべきか迷っている方への参考になればと思い、オススメ本を含めて私なりの考えを書きました。もちろんご紹介した本は読んでいますのでご安心ください。

私自身、基礎学習を終えた後に「あれ?これだとじゃんけんゲームくらいしか作れないぞ・・」と思い愕然としました(笑) プログラミングは基礎学習を終えてからがスタートです!まずは自分がどういったものを作りたいのか、または何に活かしたいのか、方向性を決めてから次のステップに進まれることをオススメします。

それではまたの機会にお目にかかりましょう。最後までお読みいただき、ありがとうございました。

IT