5.1 数値型
数値はスカラーストレージと直接アクセスを提供します。これは不変型であり、数値の値を変更すると新しいオブジェクトが作成されることを意味します。もちろん、このプロセスはプログラマとユーザーの両方にとって透過的であり、ソフトウェアの開発方法には影響しません。 Python は、複数の数値タイプ (整数、long、ブール値、double、10 進浮動小数点、複素数) をサポートします。
数値オブジェクトを更新する方法
実際にオブジェクトの元の値を更新するわけではないからです。これは、数値オブジェクトが不変オブジェクトであるためです。 Python のオブジェクト モデルは、通常のオブジェクト モデルとは多少異なります。更新として考えられることは、実際には新しい数値オブジェクトを作成し、それへの参照を取得することです。
プログラミングを学習する過程で、変数は変数の値が入った箱のようなものだと常に教えられてきました。 Python では、変数は変数の値を保持するボックスを指すポインターに似ています。 不変型の場合、ボックスの内容を変更することはできませんが、ポインターを新しいボックスに指すことはできます。変数に別の数値を割り当てるたびに、実際には新しいオブジェクトを作成して変数に割り当てます (これは数値だけでなく、すべての不変型に当てはまります)
anInt += 1
aFloat = 2.718281828
方法数値オブジェクトを削除する
Python のルールによれば、数値オブジェクトを実際に削除することはできず、単に使用しなくなっただけです。実際に数値オブジェクトへの参照を削除したい場合は、del ステートメントを使用します (セクション 3.5.6 を参照)。 オブジェクトへの参照を削除した後は、新しい値を割り当てない限り、その参照 (変数名) を使用できなくなります。削除されたオブジェクト参照を使用しようとすると、NameError 例外が発生します。
del anInt
del aLong, aFloat, aComplex
5.3 倍精度浮動小数点数
Pythonの浮動小数点数はC言語のdouble型に似ており、表現できる倍精度浮動小数点数です。直接 10 進数または科学的表記法で。各浮動小数点数は 8 バイト (64 ビット) を占め、IEEE754 仕様 (52M/11E/1S) に完全に準拠しており、そのうち 52 ビットが基数を表すために使用され、11 ビットが指数を表すために使用されます (表現可能な範囲は約プラスまたはマイナス 10 の 308.25 乗)、残りの 1 ビットがシンボルを表します。これはかなり良好に見えますが、実際の精度はマシン アーキテクチャと Python インタープリタの作成に使用されるコンパイラによって異なります。浮動小数点値には通常、小数点とオプションの接尾辞 e (科学表記法を示す大文字または小文字) が付いています。 e と指数の間に正 (+) または負 (-) を使用して、指数の符号を示すことができます (正の数の場合、符号は省略できます)。浮動小数点値の典型的な例をいくつか示します:
4.3e25 9.384e-23 -2.172818 float(12) 1.000000001
3.14 16 4.2E- 10 -90. 6.022e23 -1.609E -19
5.4 複素数