2014年7月12日土曜日

【第2回】 Pythonの基本的な型: 数値型

Pythonの変数にはいくつかの基本的な型があります。今回はそのうちの1つである「数値型」についてまとめます。数値型には以下の様なものがあります。

整数:

>>> 1 + 1
2
>>> a = 4

最後の行では、aに整数4を代入しています。


浮動小数点数:

>>> c = 2.1

小数点を入れて数値を書くと自動的に浮動小数点数となります。2.0の場合は、2.と省略して書くこともできます。上の例では、cに2.1という浮動小数点数を代入しています。


複素数:

>>> a = 1.5+0.5j
>>> a.real
1.5
>>> a.imag
0.5

複素数もPythonの組み込み型なので特別の配慮なしにいきなり使うことができます。虚数単位は数学では i ですが、Pythonでは j を用います。上の1行目で、a に複素数 1.5+0.5j を代入し、a.real で a の実部、a.imag で a の虚部を表示します。


ブール値:

>>> 3>4
False
>>> test=(3>4)
>>> test
False
>>> type(test)
bool

条件判断における真(true)か偽(false)をブール値と呼び、これも数値型の1つです。3>4 は偽なので、False と返ってきます。ブール値は文字列に代入することも可能です。上記の例では、test にFalse が代入されます。

type() を使うと型を調べることができます。上記の例では test にブール値が代入されているので、type(test) とすると bool と返ってきます。以下、type() の使用例をもう少し上げておきます。

>>> type(1)
int
>>> type(1.)
float
>>> type(1. + 0j)
complex
>>> a = 3
>>> type(a)
int


その他、数値型に関する基礎知識

数値型の種類は上記のとおりですが、さらに知っておいたほうが良い基礎知識を紹介します。

その(1) 基本的な演算子

一つ目は基本的な演算子(+, -, *, /, %)です。Python シェルは基本的な算術演算 +, -, *, /, % がそのまま使えるため以下の例のように電卓代わりに使うこともできます。

>>> 7 * 3.
21.0
>>> 2**10
1024
>>> 8 % 3
2

加減乗除は + - * / です。** と * を2つ続けるのは累乗を表します。上の例では$2^{10}$ということになります。% は剰余を表します。


その(2) 計算するときのコツ

3/2 を計算するとき、答えとして 1.5 を期待していると、以下の実行例のように、「オヤ?」という答えをPythonは返してきます。

>>> 3 / 2
1

これは、3 も 2 も整数なので答えも小数点以下が切り捨てられ整数で返ってくるためです。小数点以下を切り捨てないで完全に計算するためには以下のようにします。

>>> 3 / 2.
1.5

2の後にピリオドを付けることで期待した答えが得られます。3にピリオドをつけても同じ結果が得られますが、計算式中の1つの数値が浮動小数点型になれば他の数値も浮動小数点型として扱われるので省略してかまいません。

また、数値を a b c などの文字変数に代入した後に計算する場合は、float()  という関数を用いることで、以下の例のように整数を浮動小数に変換することができます。


>>> a = 3
>>> b = 2
>>> a / b
1
>>> a / float(b)
1.5

float() を単体で実行すると以下のようになります。

>>> float(1)
1.0

次回は、Pythonの重要な型の1つ「コンテナ」についてまとめます。