この記事では、Pythonの数値型と演算方法を解説します。
Pythonには扱える数値の型が複数用意されており、それぞれ違った特徴を持ちます。そして、その型を使って演算することができます。
基本的なことなのでPythonで使われる「数値型の種類」と「演算方法」をしっかり学んでおきましょう!
Pythonで扱える数値型
Pythonで主に使用する数値型には以下のようなものがあります。
タイプ | 型名 | リテラル |
---|---|---|
整数 | int | 1、100_000 |
浮動小数点数 | float | 3.14、1. |
複素数 | complex | 3.14j、10.j |
他にもdecimalやFraction(有理数)がありますがこの記事では紹介しません。
数値型の初期化
試しにそれぞれの型を初期化して型名を調べてみましょう!
int型[整数型]
以下のように整数を変数に代入することでint型の変数を生成できます。
i = 1
print(i, type(i))
実行結果
1 <class 'int'>
float型[浮動小数点数型]
以下のように浮動小数点数を変数に代入することでfloat型の変数を生成できます。
f = 3.14
print(f, type(f))
実行結果
3.14 <class 'float'>
complex型[複素数型]
数値に大文字か小文字のJをつけることで複素数として表現することができます。複素数を変数に代入することでcomplex型の変数を生成できます。
c = 1j
print(c, type(c))
実行結果
1j <class 'complex'>
それぞれ違う型の値を出力できました。Pythonでは型名を指定しなくても代入された値によって型が自動的に推測されます。
数値型の演算
Pythonには以下の演算が用意されています。
- 通常の演算
- 代入演算
それぞれ使い方を見ていきましょう!
通常の演算
四則演算
まずは基本的な演算を見ていきましょう!
プログラミングではお馴染みの演算となっています。
# 足し算
add = 2 + 3 # 5
# 引き算
sub = 2 - 3 # -1
# 掛け算
mul = 2 * 3 # 6
# 割り算
div = 2 / 3 # 0.666666...
特殊な演算
以下のような便利な演算が用意されています。
# 剰余(余り)
sur = 2 % 3 # 2
# べき乗
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)
# 代入演算
a = 1
a += 2
print(a)
実行結果
3
3
通常の演算よりも少しだけ簡潔に記述することができました。他にもビット演算用の代入演算子がありますがここでは紹介しません。
数値型に変換
他の型から数値型に変換することができます。
文字列から整数
整数に変換したい場合はint()を使って変換します。
text = '1'
print(type(text)) # <class 'str'>
i = int(text)
print(i, type(i)) # 1 <class 'int'>
文字列から浮動小数点数
小数に変換したい場合はfloat()を使って変換します。
text = '0.5'
print(type(text)) # <class 'str'>
f = float(text)
print(f, type(f)) # 0.5 <class 'float'>
ちなみにfloat型の値をint()で変換すると小数部分は切り捨てられます。
※ 四捨五入ではなく必ず切り捨てです。
f = 1.98
print(int(f)) # 1
文字列から複素数
複素数に変換したい場合はcomplex()を使って変換します。
text = '1+2j'
print(type(text)) # <class 'str'>
f = complex(text)
print(f, type(f)) # (1+2j) <class 'complex'>
便利な関数
Pythonには数値を扱うための便利な関数が用意されています。
絶対値[abs()]
abs関数を使うことで絶対値を計算できます。
使い方
引数に数値型を指定することで指定した値の絶対値を受け取ることができます。
絶対値 = abs(数値型)
サンプル
例えば以下のように使います。
num = -2.5
abs_num = abs(num)
print(abs_num)
実行結果
2.5
最大値・最小値[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の数値の型と演算ついて解説しました。
難しい内容はなかったと思いますが、覚えることが多かったので忘れてしまったら読み返して徐々に慣れていってください。
それでは今回はここでお開きです。ではまたどこかで〜( ・∀・)ノ