LoginSignup
2

More than 3 years have passed since last update.

MATLAB歴3年の私が、新しくPythonを勉強した話

Posted at

1. Pythonを学ぶ経緯

私は、今年の4月に就職を控えた理系の大学院生です。
研究室生活の3年間、MATLABを使って、シミュレーションを行ってきました。

これまでは、大学がライセンスを保有するMATLABを使ってきましたが、
社会人になると、MATLABを利用できなくなってしまうので、
フリーで利用できるPythonを、先日、新しく学ぶことを決めました。

まず初めに横浜の有隣堂に行き、Pythonの参考書を全て手にとって、
自分に合っていそうな参考書を選びました。

そうして選んだのが、西晃生先生が書いた
『これ以上やさしく説明できない!Pythonはじめの一歩』
です。分かりやすいのでオススメです!

2. Pythonを学んで思ったこと

実際に、Pythonを学んで私が思ったことを書いていきます。

率直に言うと、MATLABと似ていて学びやすいなと思いました。
インタプリタ型で、且つ、それほど難しい概念が出てきませんでした。

ただその中でも、苦戦したことが2つ程あり、それらを紹介したいと思います。

2.1 配列のインデックスの始まりの数字

まず一つ目が、配列のインデックスについてです。
MATLABでは、インデックスが「1」から始まりましたが、
Pythonでは、インデックスが「0」から始まります。
これは正直、今でも慣れないですね。

number.m
%MATLABの場合
number = [1,2,3]
%1を指定するインデックスは1(number[1]=1)
%2を指定するインデックスは2(number[2]=2)
%3を指定するインデックスは3(number[3]=3)
number.py
#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などを使ってみたいです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2