数値型
下記3つがある。整数:int (Python3は最大値・最小値の制限なし)
実数:float(IEEE754 64bit 倍精度浮動小数点数)
複素数:complex
ちょこっとメモ
数値 区切り文字「_」アンダースコア
人が見やすく区切るとき使う。値に影響なし。87_654_321
表示イメージ
87654321
指数表現「e」
1.234 × 1051.234e5
表示イメージ
123400.0
整数型 int型
- 整数
- python3は、有効桁数の制限がない。※誤差がない。
実数 float型
倍精度浮動小数点方式(64bit)- 極小さい値も表現可能
- 符号部・指数部・仮数部からなる2進数の近似値表現(誤差あり。)
- 整数→実数変換でも誤差発生。
浮動小数点数 仕組み IEEE 754(64bit)形式)
1. 数値を2進数にし、「1.XXX × 2a」の指数表現の形にする。
2. 以下に当てはめる。
- 符号部(1bit):0 →負、1 →正
- 指数部(15bit):{「2a」の乗数「a」+バイアス値(127)}の2進数表現
※バイアス値の加算により負数も正数で表現可能
- 仮数部(52bit):「1.XXX 」の小数部分「XXX」
浮動小数点数 表記方法
7.0 7. 0.5 .5
表示イメージ
7
7
0.5
0.5
7
0.5
0.5
float型 無限大:inf
- float型の無限大 inf
- float型の最大を超過すると「inf」無限大になる。
inf 作成
# 正の無限大 float('inf') float('infinity') # 負の無限大 -float('inf') -float('infinity')
型変換
str型のみ可能
str(float('inf'))
無限大 四則演算
足し算
- inf + 値 = inf
- inf + -inf = nan
print(float('inf') + 100) print(float('inf') + -float('inf'))
表示イメージ
inf nan
引き算
- inf - 値 = inf
- inf - inf = nan ※float型になる
print(float('inf') - 100) print(float('inf') - float('inf')) print(type(float('inf') - float('inf')))
表示イメージ
inf nan <class 'float'>
掛け算
- inf * 値 = inf
- inf * inf = inf
- inf * 0 = nan
print(float('inf') * 5) print(float('inf') * float('inf')) print(float('inf') * 0)
表示イメージ
inf inf nan
割算
- inf / 値 = inf
- inf / inf = nan
- 0 / inf = 0.0
print(float('inf') / 5) print(float('inf') / float('inf')) print(0 / float('inf'))
表示イメージ
inf nan 0.0
べき乗
- inf値 = inf
- infinf = inf
- inf0 = 1
- 1inf = 1
- 0inf = 0
print(float('inf') ** 5) print(float('inf') ** float('inf')) print(float('inf') ** 0) print(1 ** float('inf')) print(0 ** float('inf'))
表示イメージ
inf inf 1.0 1.0 0.0
計算
四則演算
演算 | 式 |
---|---|
足し算 | a + b |
引き算 | a - b |
かけ算 | a * b |
割り算 | a / b |
割算(小数点切り捨て) | a // b |
余り | a % b |
べき乗 | a ** b |
四則演算による型の変化
割算「/」「//」以外
- 整数と整数=整数
- 整数と実数=実数
- 実数と実数=実数
割算
割算「/」=実数。※誤差の場合、あり。
割算「//」=整数。
ちょこっとメモ
「0」除算
「ZeroDivisionError」実行エラーとなる。演算優先順位
1. 「+」「-」:単項演算子(数値のプラス/マイナス表現)
2. 「**」:べき乗
3. 「*」「/」「//」:かけ算、割り算
4. 「」「」:足し算、引き算
ただし、()内が最優先