Pythonの数値型(int, float, complex)

  • 2022.05.12
  • (更新日:2022.05.14)
  • python
Pythonの数値型(int, float, complex)

Pythonの数値型には整数型(int)、浮動小数点型(float)、複素数(complex)の3種類あります。
これらを生成する際には型宣言は必要なく、数値リテラルからPythonのインタープリターが自動的に判断してくれます。
本記事では、数値型の特徴や生成方法、そしてそれぞれの組み込み関数の使い方の基本についてまとめました。

数値型について

int型

Pythonの整数型はintです。(intはinteger(整数)の略です。)
扱う数値は0を含む正の数・負の数(1,10,-1,-10)等を扱いますが、小数点は扱うことはできません。
python2までは int に上限がありましたが、python3は最大値や最小値の上限はありません。

試しに、型が確認できるtype関数を使ってint型かどうか確認してみます。

>>> umaibo = 10
>>> type(umaibo)
<class 'int'>

int型ですね。

ちなみに型を確認(取得)する時はtype関数を用います。

Pythonで型を確認(取得)・判定するtype関数, isinstance関数

float型

float型は小数点の数値を扱います。float型は浮動小数点数型です。
小数点入りの数値を記述すれば、float型となります。

int型と同様に型が確認できるtype関数を使ってfloat型かどうか確認してみます。

>>> umaibo_maitai_length = 11.1
>>> type(umaibo_maitai_length)
<class ‘float’>

float型ですね。
ちなみに10.00のように記述しても小数点があればfloat型です。

浮動小数点数は正確な計算には不向きです。

「0.9-0.8の答えは0.1ですが、float型では、正確に計算できません。

>>> a = 0.9
>>> b = 0.8
>>> a-b
0.09999999999999998

答えが、「0.09999999999999998」になってしまいました。
小数点を正確に計算したい場合は、固定小数点数型であるdecimal型を使用します。

decimal型

小数点を10進数で扱って正確に計算できるようにするには、固定小数点数型のdecimal型を使用します。

decimal型の記述方法

Decimal(‘小数点入り数値’)

数値をシングルクォーテーションでくくり、文字列として扱うことで小数を10進数として扱うことができます。

>>> from decimal import Decimal
>>> a = Decimal('0.9')
>>> b = Decimal('0.8')
>>> a - b
Decimal('0.1')

正確に計算できましたね。

ちなみに、decimal型は標準ライブラリにはありませんので、最初にdecimalをインポートする必要があります。

importについては、以下を参照願います。

Python:importの使い方(from,asやルールについて)

complex

pythonでは、複素数型 (complex)も扱えます。
基本は、int, float、decimalを覚えておけば十分ですが、余裕があれば覚えて下さい。
complexは、科学技術分野(量子コンピュータ等)のモデルをシミュレーションする際に使ったりするそうです。
ただ私自身、この分野ではなく実務においてcomplexを使ったことが一度もありません。

使用方法については、Python 3.10.4 ドキュメントにcomplexについての解説がありますので、参照願います。

Python 3.10.4 ドキュメント – 組み込み関数(complex)

pythonカテゴリの最新記事