Python の基本変数型

変数の型は、代入する値の型によって決まる

整数型 (integer)

n = 10

浮動小数点 (実数) 型 (floating point)

x = 10.0

x = 10.0e5

文字列型 (string) "" あるいは '' でくくる。どちらも意味は同じ。

s = "abc"

s = 'abc'

文字列内に ' や " が含まれる場合、くくる引用符を変えることで表現できる。
s = "a'bc"

あるいは、'\' を使って特殊文字をエスケープする。

s = 'a\'bc'

改行文字 (LF) \r

行頭復帰文字 (CR) \r

タブ \t

直後の1文字 \\ \ 文字自身

\' '

\" "

s = 'a\'bc' 文字列内に \ があると、直後の1文字となる(上記特殊文字等以外)

リスト型 (list) 複数の要素を持つ配列

d = []

要素を追加する場合

d.append(3.0)

追加する値の型により、その要素の型は変わる => 一つのリストに、異なる型の要素を持たせられる

i 番目の要素を参照

d[i] 注意：Basic, Fortranなど以外のプログラム言語では、
要素番号 i は0から始まり、N-1 まで (Nは要素数)

タプル型 (tupple)リスト型に似ているが、要素の書き換えができない => 定数リスト

d = ()

書き換えができないので、.append() は使えない

i 番目の要素を参照

d[i]

オブジェクト

オブジェクト (Object): 複数の属性 (attribute, property) と 操作 (method) を結び付けた変数

python の場合は、属性と操作をいずれもattributeと呼ぶ

Python の変数はすべてオブジェクトである。

オブジェクト変数の属性へのアクセス:

インスタンス変数名.属性名

インスタンス変数名.操作名(引数)

オブジェクトの定義： クラス (class)

クラスを変数として実体化： インスタンス (instance)

オブジェクト指向プログラミング: クラス、オブジェクトを中心としたプログラム言語、プログラミング

ó 関数型プログラミング: Cのように、関数、サブルーチンで構造化したプログラミング

例：

cat オブジェクト： propertyとして、color, weight, methodとして move(), position()などが考えられる。

クラスの定義 (概念的なプログラムリストなので以下のままでは動かない)：

class cat():

# python では、 # 以降は行末までがコメント文として、無視される

# 関数は def文で定義し、: で終わる

# 変数は 変数名 = 初期値 とすることで、初期値を設定できる

def __init__(self, color = 'white', weight = 20.0):

color = color # ややこしいけど注意。左のcolorはcatのattribute変数

# 右辺のcolorは__init__関数の引数変数

weight = weight

x = 0 # 位置変数 x,y,zは0で初期化しておく

y = 0

z = 0

def move(dx, dy, dz): #位置をdx,dy,dzだけ移動させる

…

def position():

return x, y, z #位置を [x,y,z]リストで返すメソッド

インスタンスの生成（変数の作成）

nyanko = cat()

cat クラスで定義されたオブジェクトのインスタンス変数nyankoをつくる。

引数を指定していないので、初期値が使われ、

naynako.color は 'white'、nyanko.weightは 20kgになる。

nyanko = cat(color =’black’)

cat クラスで定義されたオブジェクトのインスタンス変数nyankoをつくる。

引数で指定されたcolor変数は初期値から変更され、naynako.color は 'black' になる

nyanko.move(3, -1, 0)を実行すると、nyanko.x, nyanko.y, nyanko.zはそれぞれ 3, -1, 0 になる

nyanko.move(-1, 3, 2)を実行すると、nyanko.x, nyanko.y, nyanko.zはそれぞれ 2, 2, 2 になる