Pythonの数値

整数

整数オブジェクトは整数リテラルを使って簡単に作成できる。特定の組み込み型に用意された、オブジェクトを直接表記する書式をリテラルと呼ぶ。整数オブジェクトは10進数の整数で表記できる。

数値のリテラルでは、_で桁区切りすることで大きい桁数の数値を読みやすく表記できる。

スクリーンショット 2020-06-03 20.49.34

Pythonで扱える整数の最大桁数は64bitOSで 2^63−1=9223372036854775807 桁である。

スクリーンショット 2020-06-03 20.50.46

浮動小数点数

浮動小数点数オブジェクトはfloat型のオブジェクトである。浮動小数点数にはいくつか形式があるが、PythonのfloatはIEEE754規格に置ける倍精度と呼ばれる形式である。浮動小数点数オブジェクトは、普通に小数点数を書くように.を1つ含む数字の並びで表記できる。

スクリーンショット 2020-06-03 20.51.52

整数部や少数部が0である場合は、その0を省略できる。

スクリーンショット 2020-06-03 20.52.25

また、浮動小数点数リテラルは指数表記でも書ける。この形式では数を 𝑎×10^𝑏 で表記する。 𝑎 を仮数部、 𝑏 を指数部と呼ぶ。この形式は有効桁数を明示する場合に便利である。

書式としては、仮数部と指数部の間に小文字eか大文字Eを挟む。指数には負の整数も指定でき、 1×10−3 であれば1e-3とする。

スクリーンショット 2020-06-03 20.53.13

浮動小数点数には広い範囲の数を扱うことができる利点があるが、実数を有限桁数の2進数で表現するために誤差が生じることがある。10進数では有限桁となる0.1も2進数表現では循環小数になり、それを特定の桁数で丸めることで誤差が生じる。

IPythonの%precisionコマンドで浮動小数点数の表示桁数を設定することができる。デフォルトでは、浮動小数点数は最大で小数点以下15桁まで表示される。

スクリーンショット 2020-06-03 20.53.52

複素数

Pythonでは組み込みで複素数型(complex)をサポートしている。複素数は 𝑧=𝑥+𝑖𝑦 で表される数である。ここで、 𝑖=−1‾‾‾√ は虚数単位、 𝑥 は実部、 𝑦 は虚部である。

PythonではjとJを虚数単位とし、整数や浮動小数点数のリテラルに続けて虚数単位を記述する。

スクリーンショット 2020-06-03 20.54.52

複素数の実部はreal属性、虚部はimag属性から参照できる。また、共役複素数を取得したい場合はconjugateメソッドを使用する。

スクリーンショット 2020-06-03 20.55.24

算術演算子

プログラムの構成単位となる1つ1つの命令や宣言を文と呼ぶ。また、処理の結果として値を返す文を式と呼ぶ。1つの行に式が複数あった場合は、基本的に左にある式から順に評価される。代入分は少し特殊で、右辺にある式が先に評価される。

数値の演算には算術演算子を使う。演算子は各種の演算を表す記号で、算術演算を表す記号が算術演算子である。演算子の演算の対象を被演算子と呼ぶ。演算子には評価される優先順位があり、上にあるものほど優先順位が高く、先に評価される。

スクリーンショット 2020-06-03 20.56.32

被演算子の数値の型が異なる場合では、自動的に数値が共通の型に変換されてから演算される。整数と浮動小数点数の演算では、整数が浮動小数点数に変換されて計算される。

スクリーンショット 2020-06-03 20.57.09

算術演算子を組み合わせて長い計算式も計算できる。数学と同じく、()内の式は先に計算される。

スクリーンショット 2020-06-03 20.57.43

代入文では先に右辺の式が評価され、その結果がターゲットの変数に代入される。

スクリーンショット 2020-06-03 20.58.17

さらに、累算代入文という、算術演算子などと代入文を組み合わせた文を書くことができる。

スクリーンショット 2020-06-03 20.58.50


この記事が気に入ったらサポートをしてみませんか?