プログラムでは、取り扱うデータの種類によってデータ型というものが決まっています。
- 数値⇒数値型
- 文字列⇒文字列型
- シーケンス型⇒複数のデータの並びなどなど…
今回は、数値(0, 1, 1.5, -99, 777などなど)を取り扱うためのデータ型、数値型について解説します。
動画で解説
動画でさっとチェックしたい方は、これらの動画をチェックしてください!
【解説動画】5min. Python|数値型と基本演算
5min. Python解説動画【入門編】|第7回目:数値型の種類と算術演算
【解説動画】5min. Python|数値型 比較演算と基本関数
5min. Python解説動画【入門編】|第8回目:数値型の比較演算と基本関数
数値型の種類
数値型には次の3種類があります。
- int型:整数(
0, 1, 5, -1など小数点を含まない数値) - float型:浮動小数点型(
0.1, -5.5, 3.14, 0.0など小数点を含む数値) - complex型:複素数(虚数を含む数値)※complex型の説明は省略
type()関数で、変数の型を確認することができます。
num = 1
print(type(num))
# ⇒ <class 'int'>
x = 1.5
print(type(x))
# ⇒ <class 'float'>
int型とfloat型をワザワザわけて考える理由
コンピュータの中では、
int型:数字だけを記憶float型:数字の部分と小数点の部分を別々に記憶
していると考えるとわかりやすいです(厳密ではないですが、わかりやすさ重視…)。
異なる記憶方法なので、別々の型と定義しているというわけですね。
ただし、pythonでは型の自動推定が優秀なので、初めのうちはint型とfloat型の違いを意識することが比較的少ないと思います。
明示的にint型やfloat型を区別する必要があるケースに出会う頃には、ある程度数値型への理解が深まっていると思います。
数値型の基本演算
算術演算
- 四則演算:
+ - * / - 商と剰余:
// % - べき乗:
**
#足し算
print(1+2)
# ⇒ 3
#引き算
print(5-4)
# ⇒ 1
#掛け算
print(4*5)
# ⇒ 20
#割り算
print(5/2)
# ⇒ 2.5
割り算の場合、出力が自動でfloat型になっています。
このようにpythonでは必要に応じて型変換をしてくれることが多く、とても便利です。
# 商
print(9//4)
# ⇒ 2
# 剰余
print(9%4)
# ⇒ 1
9を2で割ったときの商は4で、余り(剰余)が1です。
剰余は数字が、奇数か偶数か調べるときに使用することがあります。
x = 99
print(x//2)
# ⇒ 1
y = 100
print(y//2)
# ⇒ 0
- 奇数:
2で割ったときの余りは1 - 偶数:
2で割ったときの余りは0
ということを利用して、偶奇判別ができます。
次にべき乗の例です。
べき乗の計算に、エクセルでは^を使用しますが、pythonでは**ですので注意しましょう!
print(2**3)
# ⇒ 8
# 2*2*2 = 8
計算の優先順位
計算の優先順位ですが、初めのうちは数学と同じだと覚えておけば大丈夫です。
とりあえず、この順番を覚えておきましょう
()の中身- べき乗
** - 割り算
/、掛け算*、商//、剰余% - 足し算
+、引き算-
x = (1 + 1) * 3
# ⇒ 6
y = 1 + 1 * 3
# ⇒ 4
z = (1 + 1)**3 *3
# ⇒ 24
# 書く順番を変えると少し見やすい
z = 3 * (1 + 1)**3
# ⇒ 24
最後の例のように書く順番を少し工夫するだけで、見やすくなることもあります。
常に見やすさを意識するようにしましょう!
比較演算
二つの数値を比較して、条件を満たすかどうかを判定します。
結果は、
True(満たす)またはFalse(満たさない)
となります。
次のような比較演算があります。
- 等しい/等しくない
xとyが等しい:x == yxとyは等しくない:y != y
- 以上/以下
xはy以上:x >= yxはy以下:x <= y
- 大きい/小さい
xはyより大きい:x > yxはyより小さい:x < y
x = 10
y = 20
z = 10
#等しい
print(x == y)
# ⇒ False
print(x == z)
# ⇒ True
#等しくない
print(x != y)
# ⇒ True
# 以上
print(x >= y)
# ⇒ False
#小さい
print(x < y)
# ⇒ True
=と!<>を組み合わせる場合は、!<>は全て=の左側に書きます。
“ぜ”んぶ”ひ”だりと、”ぜひ”覚えましょう!
基本関数
特に使用頻度が多いと思われるものを紹介します。
- 数値処理:
abs():絶対値round():四捨五入
- 型変換(キャスト):
int():float型や文字列型をint型に変換float():intや文字列型をfloat型に変換
数値処理
abs()は、数値の絶対値を返します。
x = -10
print(abs(x))
# ⇒ 10
round(x, [n])は、数値を四捨五入した値を返します。
2つ目の引数を指定するかしないかで挙動が変わります。
2つ目の引数を:
- 指定しない⇒小数第一位で四捨五入した
int型(整数) - 指定する ⇒小数点以下が
n+1位を四捨五入したfloat型
x = 11.16
print(round(x))
# ⇒ 11
# 出力はint型
print(round(x, 1))
# ⇒ 11.2
# 出力はfloat型、小数点以下1桁で丸まった
print(round(x, 0))
# ⇒ 11.0
# 出力はfloat型、小数点以下0桁で(整数に)丸まった
第二の引数は、小数点以下何桁に丸めたいかを指定すると覚えれば大丈夫です。
型変換
int()とfloat()は、数値型の変換を行います。
int()では、小数点以下の値を切り捨ててしまう点に注意しましょう。
x = 11.16
print(int(x))
# ⇒ 11
y = 10
print(float(y))
# ⇒ 10.0
また、文字列の数値を数値に変換することもできます。
x = "1"
y = "50"
print( x + y )
# ⇒ 150
# 文字列の結合になったので、1, 50が並べて表示された
print(int(x)+int(y))
# ⇒ 51
# int型の足し算なので、51になった
テキストファイルからデータを読み込んだ場合、数値も文字列型となります。
そういったときは、int()やfloat()を使って、文字列を数値型に型変換しましょう!
おわりに
今回は数値型の種類と基本演算について紹介しました!
5min. python動画解説では、pythonの基本をショートクリップで解説しています!
流し見するだけでpythonをマスターできる動画シリーズを目指しています。

