16章数値処理
Pythonでは、一部の数値計算を、演算子(3.5節)と組み込み関数(8.2節)を使って実行できる。また、本章で取り上げるように、さらなる数値計算をサポートするモジュール(math
とcmath
、statistics
、operator
、random
とsecrets
、fractions
、decimal
)もある。数値処理では、さらに具体的な、数値の配列の処理が必要になることがよくある。16.8節では、このトピックを取り上げ、標準ライブラリのモジュールarray
と、人気の高いサードパーティ拡張であるNumPyを重点的に見ていく。16.8.2.6項では、Pythonコミュニティによって作成されたその他の数値処理パッケージを紹介する。なお、本章のほとんどの例では、適切なモジュールがインポートされていることを前提としており、状況が曖昧かもしれない場合にのみimport
文が含まれている。
16.1 浮動小数点数
Pythonは、float
型の変数を使って実数値(つまり、整数ではない数値)を表す。整数とは異なり、浮動小数点数は内部で、固定サイズの2進整数の仮数部(significand)と、固定サイズの2進整数の指数として実装される(仮数部は誤って仮数[mantissa]と呼ばれることがよくある)。このため、コンピュータが実数値を正確に表現できることはほとんどない。float
にはさまざまな制限がある(そのうちのいくつかは予想外の結果を引き起こすことがある)。
日常的に使うほとんどのアプリケーションでは、算術演算にはfloat
を使えば十分だが、float
が表現できる小数点以下の桁数に制限がある。
>>> f = 1.1 + 2.2 - 3.3 # fは0になるはず >>> f
Get Pythonクイックリファレンス 第4版 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.