ここではPythonの基本的な使い方をまとめる.
Python自体の入門には,以下のようなサイトが役に立つ.
各モジュールの使い方は,それぞれの公式ドキュメントを参照(ググっても色々出てくるが結局公式が一番まとまっている).
Pythonを使う上で一つ注意しなければならないのは,名前空間の問題である. Pythonでは,次のようにモジュールを読み込む.
import numpy
この記述によって,numpyモジュールが読み込まれた.numpyには様々な関数が定義されているが,これらの関数は,numpy.関数名 という形式で呼び出さなければならない.例えば,numpyのexp()関数を呼び出すには,
numpy.exp(3)
のように呼ばなければならない.これは、様々なモジュールを読み込んだ際に,モジュール内で定義されている関数名がぶつからないように,名前空間を分離しているからである.いちいちnumpyと打つのが面倒な場合,
from numpy import *
とすることができる.この場合,numpyの名前空間がトップレベルの名前空間と統合されるため,exp()と記述するだけで,numpy.exp()を呼ぶことができる.しかし,numpyで定義されている関数とトップレベル名前空間にあるオブジェクトの名前が衝突する場合,問題が起こることもあるので,注意が必要である.妥協案として,
import numpy as np
のように,numpyに短い別名を付けることもある.この場合,np.exp()とすれば,numpy.exp()を呼び出すことができる.このページの解説では,この方法を採っている. また特定のよく使う関数のみを呼び出す場合には
from numpy import exp
と書くこともできる.
コンソールにjupyterやipythonを使っている場合,
np.exp?
というように,オブジェクト名(関数名)の後に?を付けてEnterを押すと,このオブジェクトに関するヘルプが表示される.
PythonはMatlab系言語とはかなり違った文法を持つが,以下の点は特に注意が必要である.
>>>a=[1,2,3,4] >>>a[0] 1
添字でリスト一部を読み出す際の規則(PythonではSlicingと呼ぶ)も若干違う.
>>>a[1:3] [2,3]
これについては,Python TutorialのStringsに関する部分にあるように,Indexはリスト要素の境界線を指すと考えると分かりやすい.
>>>2**3 8
以下の解説で利用されるモジュールをあらかじめ読み込んでおく.
import numpy as np import matplotlib.pyplot as plt import scipy.optimize as opt
ASCIIファイルからデータを読み込むには次のようにする.
d=np.loadtxt('brown.dat',delimiter=',') t=d[:,0] v=d[:,1] plt.plot(t,v)