YutaKaのPython教室

Python の文法やライブラリ、API、環境構築について画像・動画・ソースコード付きで徹底解説!

【解説動画あり】python 数値型の基本|Python超入門シリーズ【第7-8回】

プログラムでは、取り扱うデータの種類によってデータ型というものが決まっています。

  • 数値⇒数値型
  • 文字列⇒文字列型
  • シーケンス型⇒複数のデータの並びなどなど…

今回は、数値(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

92で割ったときの商は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

計算の優先順位

計算の優先順位ですが、初めのうちは数学と同じだと覚えておけば大丈夫です。

とりあえず、この順番を覚えておきましょう

  1. ()の中身
  2. べき乗 **
  3. 割り算 /、掛け算 *、商 //、剰余 %
  4. 足し算 +、引き算
x = (1 + 1) * 3
# ⇒ 6
y = 1 + 1 * 3
# ⇒ 4
z = (1 + 1)**3 *3
# ⇒ 24
# 書く順番を変えると少し見やすい
z = 3 * (1 + 1)**3
# ⇒ 24

最後の例のように書く順番を少し工夫するだけで、見やすくなることもあります。

常に見やすさを意識するようにしましょう!

比較演算

二つの数値を比較して、条件を満たすかどうかを判定します。

結果は、

  • True(満たす)または
  • False(満たさない)

となります。

次のような比較演算があります。

  • 等しい/等しくない
    • xyが等しい:x == y
    • xyは等しくない:y != y
  • 以上/以下
    • xy以上:x >= y
    • xはy以下:x <= y
  • 大きい/小さい
    • xyより大きい:x > y
    • xyより小さい: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をマスターできる動画シリーズを目指しています。

5min. python解説動画