リテラルとはソースコードに直接記述される定数のここです。ここではPython3で数値リテラルを書き方を説明します。Python3は整数と浮動小数点数をサポートします。浮動小数点数はPython2でもPython3でもfloat型のみです。
整数リテラルの書き方
Python2では整数型としてint型とlong型がありますが、Python3ではint型のみです。従ってこれから説明する整数リテラルの型はすべてint型になります。
10進数整数リテラル
整数リテラルは次のように書きます。
17
+17
0
-152
1_000_000_000
正の整数の前に+を付けることもできます。負の整数を表すには数字の前に-を付けます。最後の例のように間にアンダースコア(_)があっても構いません。これは桁数をわかり易くするために使われます。
ただし0の後に数字を続けることはできません。
>>> 03
File "<stdin>", line 1
03
^
SyntaxError: invalid token
2進数、8進数、16進数の整数リテラル
上記の例は10進数の書き方ですが、2進数、8進数、16進数での整数リテラルは数字の並びの前にそれぞれ次のようなプレフィックスが付きます。
- 0bまたは0B(2進数)
- 0oまたは0O(8進数)
- 0xまたは0X(6進数)
16進数の値を指定する場合には0から9、aからf(小文字)またはAからF(大文字)を使います。次の例はすべて10進数で42です。
>>> 0b101010
42
>>> 0o52
42
>>> 0x2a
42
アンダースコアは10進数以外の整数リテラルにも使えます。
0b1100_1110_1011_1010
浮動小数点リテラルの書き方
浮動小数点数リテラルは次のように記載する。浮動小数点数リテラルは10進数の表記法しかありません。
3.14
+3.14
-1.5
正の浮動小数点に+を付けることもできる。指数表記を使うこともできます。指数表記ではeまたはEのどちらも使えます。後にオプションの符号(+または-)と数字が続きます。
次の例はどれも同じ値です。
0.001
1.0e-3
100E-5
浮動小数点数リテラルにもアンダースコアを使えます。
100_000.333_333
12_345e99