
現在、私はPythonを使ってデータ分析の実務をしております。
最初はPythonについて知らないところからスタートしました。
ここでは、私の経験をもとにPythonを学ぶ手順について解説していきます。
-
-
【2021年】プログラミング講師が勧めるPythonが学べるプログラミングスクール3選
プログラミングスクール講師の斉藤です。 今回はプログラミング言語のPythonが学べるプログラミングスクールをご紹介します。 目次1 Pythonでプログラミングスクールを選ぶ基準1.1 その分野を教 ...
続きを見る
目次
Pythonの開発環境について
Pythonを仕事で使う際に必要となる知識として、まずは開発環境について知っておく必要があります。
開発環境とは、使用するOSや統合開発環境の種類などです。
Pythonでは、OSはWindows、Mac、Linuxのどれでも使用することができます。
代表的統合な開発環境としては「Atom」、「PyCharm」があります。
Pythonのプログラミングを学ぶ流れ
開発環境が整ったら、次はPythonの簡単な文法に慣れる必要があります。(if文、for文、リスト、辞書、タプル、関数、クラスの書き方、使い方)
文法については他のプログラミング言語を知っている方であれば、単に書き方の違いだけなので、いきなり全部覚えなくても必要な時に調べる程度でよいでしょう。
また、Pythonには数多くのクラスライブラリが存在するので、それらの種類や使い方、含まれるコマンドについては最初のうちに浅くでも理解しておく必要があります。
というのも、クラスライブラリを知らないと、すでに用意されている処理を自前で書いてしまう恐れがある為です。
プログラミングに集中してしまうとついついやってしまいがちですが、時間をロスするだけなので、先に知っておいて避けたいところです。
Pythonのクラスライブラリの例
例えば、Numpyというクラスライブラリは行列計算を行う際に非常に有用ですし、Pandasというライブラリはcsvに保存されたデータからデータフレームを生成し、データ分析に用いることができます。
私が現在実務で使用している分には、これらを身につけたうえで実装経験を積めば問題のないように感じています。
私が最近書いたコードではNumpyの知識やクラスの書き方、関数の定義の仕方に関する知識を活用しました。
あとは、機械学習用のAnacondaくらいは触っておいて損がないと思います。
Pythonなので当然機械学習をすることも、あるかもしれないからです。
機械学習の場合、Anacondaで用意されているFrameworkは結構使うので、ライブラリを読んでみながら知識を深めるのも準備として有益だと思います。
Python2系とPython3系について

もしあなたがPythonを使う現場で働くことを想定するなら、Python2系とPython3系の両方とも読めるようになっておいたほうが良いです。
参考:2系、3系の違い
現場のシステムを一人で全部組むことはありませんが、Python2系で作ったままPython3系に対応していないことがあるかもしません。
Python2系の仕事をするなら、Python2系を知らなくてはいけません。
また、Python2系のシステムをPython3系に作り直す仕事であれば、Python3系を知らなくてはなりません。
いずれかしか知らないと対応できないケースが出てくるのです。
そのような案件を行わなくてはならない場合、Python2系しか知らないとそれで対応するしかならなくなってしまいます。
せめて、3系対応のシステムを組み直すにしても2系で書かれたソースコードを読めないことには話になりません。
Pythonのおすすめ書籍

Pythonを学ぶ際のおすすめ書籍をご紹介します。
書籍をしっかり読みこんで、コーディングの練習を繰り返せば、書籍のみの学習でも十分に学べます。
個人的に良かった書籍は下記の2冊です。
「スラスラわかるPython」(翔泳社)
「独習Python入門」(技術評伝社)
どちらもとっつきやすい点がおすすめだと思っています。
私はプログラミングを学習するにあたり、書籍を何冊も購入してみました。
が、なかにはどうしても相性の悪い書籍というのは存在します。
ただ、それは書籍が悪いというより、私との相性なのかなと思いました。
そんなときは割り切ってさっさと次の書籍に移って勉強しましょう。
Pythonでラズベリーパイも始めた
最近は、ラズベリーパイというシングルボードコンピュータを入手したので、電子工作の勉強も始めてみました。
ラズベリーパイは6,000円くらいで購入できて、手のひらサイズのかわいいコンピュータですが、なかなか侮れない性能を秘めています。
実はPythonとも相性がよく、ほとんど遊んでいる感覚でプログラミングを楽しんでいます。
すでに簡単な制御でロボットカーを動かしたり、ちょっとしたデジタルカメラを作ったりしました。
プログラミングの勉強というと、なかなか大変そうなイメージですが、学習の中にも遊びの要素を加えると楽しんで続けることができると思いますよ。
まとめ
Pythonを実務で使用する上ではPython自体の知識以外にも、関わる案件ごとに必要な知識が変わってきます。
Pythonを用いてWebサービスを作るのか、それともデータ分析を行うのか、AIを作るのかによって必要な知識は大きく変化するので、それに対応する必要があります。