16章数値処理

Pythonでは、一部の数値計算を、演算子(3.5節)と組み込み関数(8.2節)を使って実行できる。また、本章で取り上げるように、さらなる数値計算をサポートするモジュール(mathcmathstatisticsoperatorrandomsecretsfractionsdecimal)もある。数値処理では、さらに具体的な、数値の配列の処理が必要になることがよくある。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.