Pythonには変数として「数値」「文字列」「リスト」「タプル」「辞書」など複数のタイプがあります。 こちらの記事では「数値」についてまとめてみました。
目次
数値の種類
型名 | 内容 |
---|---|
int型 | 整数 |
float型 | 小数: 浮動小数点型 |
decimal型 | 小数: 固定小数点型 |
complex型 | 虚数 |
※虚数に関して記入者の勉強不足のため別途調べます!
int型 (整数)
num1 = int(5)
# or
num1 = 5
print(num1)
print(type(num1))
5
<class 'int'>
float型 (小数: 浮動小数点型)
num2 = float(5.1)
# or
num2 = 5.1
print(num2)
print(type(num2))
5.1
<class 'float'>
decimal型 (小数: 固定小数点型)
decimal型は追加ライブラリが必要なため呼び出しをしています。
from decimal import Decimal # ライブラリ呼び出し
num3 = Decimal(5.1) # 5.1は浮動小数点型
print(num3)
print(type(num3))
5.09999999999999964472863211994990...
<class 'decimal.Decimal'>
decimal型に浮動小数点の値を入れると実行結果に誤差の数字が入り予想した形になりません。
これはコンピュータ内部では2進数で保存されていて小数点によっては無限に01が続き一定桁数で丸め処理が行われるため2進数から10進数に戻した際に元の小数に戻らず近似値が出力されるためです。
では上記ケースを「5.1」で表示するにはどうしたら良いでしょうか?
答えは浮動小数点の値を入れるのでは無く、文字列を入れることで解決します。 5.1をシングルまたはダブルクォーテーションで囲むことで文字列にしています。
from decimal import Decimal # ライブラリ呼び出し
num4 = Decimal("5.1") # 5.1は文字列型
print(num4)
print(type(num4))
5.1
<class 'decimal.Decimal'>
数値の計算
Pythonの数値には四則演算を始め、剰余、割り算の整数部のみ、べき乗など簡単に計算することが可能です。
print(2 + 3) # 加算
# 結果 5
print(5 - 1) # 減算
# 結果 4
print(3 * 2) # 乗算
# 結果 6
print(5 / 2) # 除算
# 結果 2.5
print(5 % 2) # 剰余
# 結果 1
print(5 // 2) # 割り算の整数部のみ
# 結果 2
print(2 ** 3) # べき乗 (例は2の3乗)
# 結果 8
数値のキャスト(変換)
Pythonで扱う数値はキャスト(変換)する事が可能です。
int型からfloat型へ変換
num5 = int(5)
print(type(num5)) # 変換前は int型
num5 = float(num5) # int型からfloat型へ変換
print(num5)
print(type(num5)) # 変換後は float型
<class 'int'>
5.0
<class 'float'>
float型からint型へ変換
num6 = float(5.12)
print(type(num6)) # 変換前は float型
num6 = int(num6) # float型からint型へ変換
print(num6)
print(type(num6)) # 変換後は int型
<class 'float'>
5
<class 'int'>
int型にキャストを行った場合、小数点の部分は切り捨てされます。
まとめ
数値に関して基本的な部分を再確認いたしました。
Python2の時はint型とlong型(長整数型)と呼ばれるものもあったのですが、Python3からint型に統合されております。シンプルでいいですね!
次は文字列について確認をしていきます。
記事内で使った関数
print(XX)について
引数に渡された内容を出力します。文字列を直接渡すことや、変数を入れて表示する事ができます。
type(XX)について
データ型を調べたいオブジェクトを引数で渡すことでそれぞれのデータ型の値を返す関数になります
サンプルプログラム
こちらの記事で作成したプログラムはGitHub環境にアップしております。
下記からダウンロードいただけます。