Python

【Python】数値型と演算

この記事では、Pythonの数値型と演算方法を解説します。

Pythonには、数値を扱えるデータ型が複数用意されています。それぞれ違った特徴を持ち、その型を使って演算することができます。

それでは、数値型について見ていきましょう❗️

Pythonで扱う数値型

主に使用する数値型には、以下のようなものがあります。

int型

intはintegerの略で、整数を扱うための型です。Pyhonのint型には桁数が設けられておらず、整数型はint型の1つしかありません。

num = 1
print(num)
>> 1

# 「,」の代わりに「_」が使える
num = 100_000
print(num)
>> 100000

float型

float型は、実数を扱うための型です。

num = 3.14
print(num)
>> 3.14

# 指数表記も使える
num = 3.14e-2
print(num)
>> 0.0314

complex型

complex型は、複素数を扱うための型です。

num = 1 + 2j
print(f'{num} = 実部: {num.real}, 虚部: {num.imag}')
>> (1+2j) = 実部: 1.0, 虚部: 2.0

# complex(real, [imag])
num = complex()
print(num)
>> 0j

他にもdecimalFraction(有理数)がありますが、この記事では紹介しません。

数値型の演算

Pythonには、以下の演算が用意されています。

通常の演算

四則演算

まずは基本的な演算を見ていきます。

# 足し算
add = 2 + 3  
>> 5

# 引き算
sub = 2 - 3  
>> -1

# 掛け算
mul = 2 * 3  
>> 6

# 割り算
div = 2 / 3  
>> 0.666666...

特殊な演算

以下のような便利な演算が用意されています。

# 剰余(余り) 
sur = 3 % 2  
>> 1 

# べき乗 
p = 2 ** 3   
>> 8 

# 切り捨て割り算 
t = 2 // 3   
>> 0

割り算を行うと結果が必ずfloat型になるので注意が必要です。

d = 2 / 2
print(d, type(d))  
>> 1.0 <class 'float'>

d = 3 / 2
print(d, type(d))  
>> 1.5 <class 'float'>

代入演算

代入演算子を使うことで、代入と演算をまとめて行うことができます。

代入演算 意味
x += y x = x + y
x -= y x = x – y
x *= y x = x * y
x /= y x = x / y
x %= y x = x % y
x **= y x = x ** y
x //= y x = x // y

試しに普通の演算と代入演算を比べてみます。通常の演算よりも代入演算の簡潔に記述することができました。

# 通常の演算
a = 1
a = a + 2
print(a)
>> 3

# 代入演算
a = 1
a += 2
print(a)
>> 3

他にもビット演算用の代入演算子がありますが、ここでは紹介しません。

数値型の生成

他の型の値から数値型を生成することができます。

int型の生成:

整数を生成するには、int()を使います。

s = '123'
f = 3.14
c = 1+2j

i = int(s)
print(i, type(i)) 
>> 123 <class 'int'>

i = int(f)
print(i, type(i))
>> 3 <class 'int'>

i = int(c)
print(i, type(i))
>> TypeError: can't convert complex to int
実数から整数を生成すると、小数部分は必ず切り捨てられます

float型の生成:

実数を生成するには、float()を使います。

s = '3.14'
i = 1
c = 1+2j

f = float(s)
print(f, type(f)) 
>> 3.14 <class 'float'>

f = float(i)
print(f, type(f))
>> 1.0 <class 'float'>

f = float(c)
print(f, type(f))
>> TypeError: can't convert complex to float

complex型の生成:

複素数を生成するには、complex()を使います。

s = '1+2j'
i = 1
f = 3.14

c = complex(s)
print(c, type(c))  
>> (1+2j) <class 'complex'>

c = complex(i)
print(c, type(c))
>> (1+0j) <class 'complex'>

c = complex(f)
print(c, type(c))
>> (3.14+0j) <class 'complex'>

# 第二引数で虚部を指定することもできる
c = complex(i, f)
print(c, type(c))
>> (1+3.14j) <class 'complex'>

よく使われる関数

Pythonには数値を扱うための便利な関数が用意されています。

絶対値[abs()]

abs関数を使うことで絶対値を取得できます。

使い方

引数に数値型を指定することで指定した値の絶対値を受け取ることができます。

絶対値 = abs(数値型)

サンプル

例えば以下のように使います。

num = -2.5
abs_num = abs(num)

print(abs_num)

実行結果

2.5

切り捨て商と剰余[divmod()]

divmod関数は、切り捨て商と剰余をまとめて取得できます。

使い方

引数に2つの値を指定することで、切り捨て商と剰余をタプルとして返します。

(x // y, x % y) = divmod(x, y)

サンプル

r = divmod(5, 2)

print(r)
>> (2, 1)

最大値・最小値[max()・min()]

max関数は最大値、min関数は最小値を返します。

使い方

引数に複数の値やリストなどのコンテナオブジェクトを指定することで、その要素の中の最大値・最小値の値を受け取ることができます。

最大値 = max(値1, 値2, ..., 値N)

最小値 = min([要素1, 要素2, ..., 要素N])

サンプル

試しに最大値と最小値を取得してみます。

max_value = max([8, 1, 9, 2])
print(f'max: {max_value}')

min_value = min(8, 1, 9, 2)
print(f'min: {min_value}')

実行結果

max: 9
min: 1

べき乗[pow()]

pow関数を使うことでべき乗を計算できます。

使い方

base引数のexp引数乗が返されます。

演算結果 = pow(base, exp)

サンプル

試しにべき乗を計算してみます。

print(pow(2, 3))

print(pow(2, -2))

実行結果

8
0.25

小数を丸める[round()]

round関数を使うことで小数を近いほうに丸めることができます。0.5のように距離が等しい場合、偶数になるように丸められます。

使い方

引数に小数を指定することで小数が丸められた整数を受け取ることができます。

round(number)

第二引数を指定することで丸める小数の桁数を指定できます。

round(number, ndigits)

サンプル

試しに色々な値を丸めてみます。

print('距離が同じ場合')
print(0.5, round(0.5))
print(1.5, round(1.5))

print('桁数の指定')
PI = 3.1415
print(PI, round(PI))
print(PI, round(PI, 1))
print(PI, round(PI, 2))
print(PI, round(PI, 3))

実行結果

距離が同じ場合
0.5 0
1.5 2
桁数の指定
3.1415 3
3.1415 3.1
3.1415 3.14
3.1415 3.142

まとめ

この記事では、Pythonの数値の型と演算ついて解説しました。

難しい内容はなかったと思いますが、覚えることが多かったので忘れてしまったら読み返して徐々に慣れていってください。

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

最短3か月でエンジニア転職『DMM WEBCAMP COMMIT』