数値型の変数

数値型

数値型にはint型(整数)、float型(実数)、complex型(複素数)の3つがあります。また、真偽値を表す論理型というものも数値として扱えますが、これはint型のサブクラスとして定義されています。

int型

まずはint型です。名前の通りinteger、つまり整数を表します。Pythonのint型は桁数の制限が設けられていません。このためCやJavaのようなlong型はありません

num = 5
print(num) # 5

また、intに2進数、8進数、16進数の表記を利用することもできます。

進数 表記
10進数 そのまま記述
2進数 0b
8進数 09
16進数 0x

以下、2進数、8進数、16進数のサンプルです。

bin_val = 0b0101
print(bin_val) # 5 
 
oct_val = 0o165
print(oct_val) # 117
hex_val = 0xfaa
print(hex_val) # 4010

float型

次はfloat型です。小数を含む数値を表します。指数表記でも利用することが可能です。

x = 0.0012
print(x) # 0.0012

y = 1.2e-3
print(y) # 0.0012

上記サンプル、x、yともに表記が異なりますが、同じ値が代入されていることがわかるかと思います。

float型の精度

Pythonのfloatの精度はマシンに依存します。大抵は53ビットになっていますが、お使いの環境の精度を調べる場合、以下のようにsysモジュールのfloat_infoを確認します。モジュールとインポートについては別項にて説明します。

>>> import sys
>>> sys.float_info
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)

complex型

3つ目が複素数を表すcomplex型です。実数部分と虚数部分はともにfloat型となります。

定義時には実数部と虚数部を指定します。虚数部をj(iではない!!)で記述する場合と、complex関数を利用する2通りがあります。

また、実数部はreal、虚数部分はimageというプロパティでアクセスすることができます。

# 複素数を定義
c1 = 2 + 3j
print(c1) # (2+3j)
c2 = complex(5, 6)
print(c2) # (5+6j)

# 実部と虚部を出力
print(c1.real) # 2.0
print(c2.imag) # 6.0

簡単な計算

次回は演算について細かく解説しますが、練習としていくつか簡単な計算をしてみましょう。

変数に数値を代入して計算してみます。

# 足し算結果を変数に代入する
x = 10
y = 20
z1 = x + y
print(z1) # 30

# 変数に演算結果を直接代入する
z2 = 10 - 20
print(z2) # -10

# 掛け算結果を表示する
print(10 * 20) # 200

# 割り算の結果を変数に代入する
z3 = x / y
print(z3) # 0.5

上の結果のように、数値型変数同士で演算、変数に数値の演算結果を直接代入、print関数の引数として演算を指定、といったことができます。プログラミング初心者の方は実際に入力して試してみてください。