Pythonの数値リテラルに関する解説
整数リテラル
整数リテラルは、Pythonで整数を表現する基本的な方法です。小数点を含まず、正または負の符号を付けることができます。
# 整数リテラルの例
x = 10 # 正の整数
y = -20 # 負の整数
z = 0 # ゼロ
浮動小数点数リテラル
浮動小数点数リテラルは、小数点を含む数値を表現します。指数表記を使用することも可能です。
# 浮動小数点数リテラルの例
x = 3.14 # 通常の浮動小数点数
y = -0.001 # 負の浮動小数点数
z = 1.2e3 # 指数表記(1.2 × 10³)
w = 2E-4 # 指数表記(2 × 10⁻⁴)
複素数リテラル
Pythonでは、複素数リテラルもサポートされています。複素数は実数部と虚数部を持ち、虚数部は「j」を用いて表します。
# 複素数リテラルの例
a = 3 + 4j # 実数部が3、虚数部が4
b = -2j # 実数部が0、虚数部が-2
c = 0 + 1j # 実数部が0、虚数部が1
2進数、8進数、16進数リテラル
Pythonでは、2進数、8進数、16進数リテラルを使って異なる基数で数値を表現できます。
# 2進数リテラル(プレフィックス: 0b または 0B)
bin_num = 0b1010 # 2進数で10
# 8進数リテラル(プレフィックス: 0o または 0O)
oct_num = 0o12 # 8進数で10
# 16進数リテラル(プレフィックス: 0x または 0X)
hex_num = 0x1A # 16進数で26
アンダースコアによる読みやすい表記
Pythonでは、数値リテラル内でアンダースコア(_)を使用して桁を区切ることができます。これにより、大きな数値が読みやすくなります。
# アンダースコアを使用した例
large_number = 1_000_000 # 1000000と同じ
binary_number = 0b1010_1010 # 2進数で区切り
特殊な浮動小数点数
Pythonでは、浮動小数点数として特殊な値もサポートされています。
# 無限大(正の無限大と負の無限大)
inf = float('inf')
neg_inf = float('-inf')
# NaN(非数値)
nan = float('nan')
これらの値は数学的な演算において特別な動作をします。
例えば:
# 特殊な値の操作例
print(inf > 1_000_000) # True
print(nan == nan) # False