#author("2021-04-09T18:57:32+09:00","default:LabMember","LabMember")
[[PythonTutorial]]

* Pythonの基本 [#j4e418fc]
ここではPythonの基本的な使い方をまとめる.

#contents

** Pythonの基本 [#s788f0a2]
Python自体の入門には,以下のようなサイトが役に立つ.

- [[Python Documentation>https://docs.python.org/3/]]: Pythonの公式ドキュメント.ここのTutorialは入門に適している.[[日本語訳>https://docs.python.org/ja/3/]]もあり.
- [[Python Japan>https://www.python.jp/install/install.html]:日本語のサイト.環境構築から基本的な使い方まで一通りのことは書いてある.

各モジュールの使い方は,それぞれの公式ドキュメントを参照(ググっても色々出てくるが結局公式が一番まとまっている).

*** モジュールと名前空間 [#l0ab4430]
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
と書くこともできる.

*** ヘルプ [#t54b0ff8]
コンソールにjupyterやipythonを使っている場合,
 np.exp?
というように,オブジェクト名(関数名)の後に?を付けてEnterを押すと,このオブジェクトに関するヘルプが表示される.

*** Matlab, Scilabとの相違点 [#qd64e935]
PythonはMatlab系言語とはかなり違った文法を持つが,以下の点は特に注意が必要である.

- リストのIndexは0から始まる.
 >>>a=[1,2,3,4]
 >>>a[0]
 1


添字でリスト一部を読み出す際の規則(PythonではSlicingと呼ぶ)も若干違う.
 >>>a[1:3]
 [2,3]

これについては,Python Tutorialの[[Stringsに関する部分>http://docs.python.org/tutorial/introduction.html#strings]]にあるように,Indexはリスト要素の境界線を指すと考えると分かりやすい.

- べき乗は**で表す.
 >>>2**3
 8

** モジュールの読み込み [#j6f3067a]
以下の解説で利用されるモジュールをあらかじめ読み込んでおく.
 import numpy as np
 import matplotlib.pyplot as plt 
 import scipy.optimize as opt

** データの読み込み [#bda76670]
ASCIIファイルからデータを読み込むには次のようにする.

 d=np.loadtxt('brown.dat',delimiter=',')
 t=d[:,0]
 v=d[:,1]
 plt.plot(t,v)


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS