#1. Pythonを学ぶ経緯
私は、今年の4月に就職を控えた理系の大学院生です。
研究室生活の3年間、MATLABを使って、シミュレーションを行ってきました。
これまでは、大学がライセンスを保有するMATLABを使ってきましたが、
社会人になると、MATLABを利用できなくなってしまうので、
フリーで利用できるPythonを、先日、新しく学ぶことを決めました。
まず初めに横浜の有隣堂に行き、Pythonの参考書を全て手にとって、
自分に合っていそうな参考書を選びました。
そうして選んだのが、西晃生先生が書いた
『これ以上やさしく説明できない!Pythonはじめの一歩』
です。分かりやすいのでオススメです!
#2. Pythonを学んで思ったこと
実際に、Pythonを学んで私が思ったことを書いていきます。
率直に言うと、MATLABと似ていて学びやすいなと思いました。
インタプリタ型で、且つ、それほど難しい概念が出てきませんでした。
ただその中でも、苦戦したことが2つ程あり、それらを紹介したいと思います。
##2.1 配列のインデックスの始まりの数字
まず一つ目が、配列のインデックスについてです。
MATLABでは、インデックスが「1」から始まりましたが、
Pythonでは、インデックスが「0」から始まります。
これは正直、今でも慣れないですね。
%MATLABの場合
number = [1,2,3]
%1を指定するインデックスは1(number[1]=1)
%2を指定するインデックスは2(number[2]=2)
%3を指定するインデックスは3(number[3]=3)
#Pythonの場合
number = [1,2,3]
#1を指定するインデックスは0(number[0]=1)
#2を指定するインデックスは1(number[1]=2)
#3を指定するインデックスは2(number[2]=3)
##2.2 クラスの概念
そして二つ目が、クラス(とオブジェクト指向)についてです。
これまで、大規模なシステム開発などをしたことがなく、
研究室でシミュレーションプログラムを書く際も、
とりあえず動けばいいというスタンスでやってきたので、
なかなか理解ができませんでした。(今でもかなり怪しいです)
参考書に加えて、「クラス」って必要?def関数でいいんじゃない?も参考にしながら、
「クラスって、お互いに関係するデータと関数をまとめて、コードを読みやすくするための
ものなんだなぁ」と何となく納得しました。
#今後の目標
今後はPythonならではの色々なライブラリを利用してみたいと思っています。
特に、機械学習には強い関心があるので、TensorFlowなどを使ってみたいです。