Python 数値型完全ガイド:不変な数値データ型の理解と活用
数値データ型は数値を格納します。これらは不変(イミュータブル)なデータ型であり、数値データ型の値を変更すると、新しく割り当てられたオブジェクトが生成されることを意味します。
値を代入すると数値オブジェクトが作成されます。例:
var1 = 1 var2 = 10
del 文を使用して、数値オブジェクトへの参照を削除することもできます。del 文の構文は:
del var1[,var2[,var3[....,varN]]]]
del 文を使用して単一のオブジェクトまたは複数のオブジェクトを削除できます。例:
del var del var_a, var_b
Python は 4 種類の数値型をサポートしています。
int(符号付き整数) — 単に整数または int と呼ばれることが多く、小数点を持たない正または負の整数です。
long(長整数) — longs とも呼ばれ、無制限のサイズの整数で、整数のように書かれ、大文字または小文字の L が続きます。
float(浮動小数点実数) — floats とも呼ばれ、実数を表し、整数部と小数部を小数点で区切って記述します。浮動小数点数は科学的表記法でも表現でき、E または e で 10 の累乗を示します(2.5e2 = 2.5 x 102 = 250)。
complex(複素数) — a + bJ の形式で、a と b は浮動小数点数、J(または j)は -1 の平方根(虚数)を表します。数の実部は a、虚部は b です。複素数は Python プログラミングではあまり使用されません。
数値の例
数値の例をいくつか示します:
| int | long | float | complex |
|---|---|---|---|
| 10 | 51924361L | 0.0 | 3.14j |
| 100 | -0x19323L | 15.20 | 45.j |
| -786 | 0122L | -21.9 | 9.322e-36j |
| 080 | 0xDEFABCECBDAECBFBAEL | 32.3+e18 | .876j |
| -0490 | 535633629843L | -90. | -.6545+0J |
| -0x260 | -052318172735L | -32.54e100 | 3e+26J |
| 0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
Python では long に小文字の l を使用できますが、数字の 1 との混同を避けるため、大文字の L のみを使用することを推奨します。Python は長整数を大文字の L で表示します。
複素数は、a + bj で表される実数の順序対で構成されます。ここで a は実部、b は複素数の虚部です。
数値型の変換
Python は、混合型を含む式において内部的に数値を共通の型に変換して評価します。しかし、演算子や関数パラメータの要件を満たすために、明示的に数値をある型から別の型に強制変換する必要がある場合もあります。
int(x) と記述して x を通常の整数に変換します。
long(x) と記述して x を長整数に変換します。
float(x) と記述して x を浮動小数点数に変換します。
complex(x) と記述して x を実部 x、虚部 0 の複素数に変換します。
complex(x, y) と記述して x と y を実部 x、虚部 y の複素数に変換します。x と y は数値式です。
数学関数
Python には以下の数学計算を実行する関数が含まれています。
| 番号 | 関数と戻り値(説明) |
|---|---|
| 1 | abs(x) x の絶対値:x とゼロの間の(正の)距離。 |
| 2 | ceil(x) x の天井関数:x 以上の最小の整数。 |
| 3 | cmp(x, y) x < y なら -1、x == y なら 0、x > y なら 1。 |
| 4 | exp(x) x の指数関数:ex。 |
| 5 | fabs(x) x の絶対値。 |
| 6 | floor(x) x の床関数:x 以下の最大の整数。 |
| 7 | log(x) x の自然対数(x > 0 の場合)。 |
| 8 | log10(x) x の常用対数(底 10)(x > 0 の場合)。 |
| 9 | max(x1, x2,...) 引数の中で最大の値:正の無限大に最も近い値。 |
| 10 | min(x1, x2,...) 引数の中で最小の値:負の無限大に最も近い値。 |
| 11 | modf(x) x の小数部分と整数部分を 2 要素のタプルで返す。両部分の符号は x と同じ。整数部分は浮動小数点数として返される。 |
| 12 | pow(x, y) x**y の値。 |
| 13 | round(x [,n]) x を小数点から n 桁で丸める。Python はタイブレークとしてゼロから離れる方向に丸める:round(0.5) は 1.0、round(-0.5) は -1.0。 |
| 14 | sqrt(x) x の平方根(x > 0 の場合)。 |
乱数関数
乱数はゲーム、シミュレーション、テスト、セキュリティ、プライバシーアプリケーションで使用されます。Python には以下のよく使用される関数が含まれています。
| 番号 | 関数と説明 |
|---|---|
| 1 | choice(seq) リスト、タプル、または文字列からランダムなアイテムを選択。 |
| 2 | randrange([start,] stop [,step]) range(start, stop, step) からランダムに選択された要素。 |
| 3 | random() 0 以上 1 未満のランダムな浮動小数点数 r を返す。 |
| 4 | seed([x]) 乱数生成に使用される整数の開始値を設定。他の random モジュール関数を呼び出す前にこの関数を呼ぶ。None を返す。 |
| 5 | shuffle(lst) リストのアイテムをその場でランダム化。None を返す。 |
| 6 | uniform(x, y) x 以上 y 未満のランダムな浮動小数点数 r を返す。 |
三角関数
Python には以下の三角関数計算を実行する関数が含まれています。
| 番号 | 関数と説明 |
|---|---|
| 1 | acos(x) x のアークコサインをラジアンで返す。 |
| 2 | asin(x) x のアークサインをラジアンで返す。 |
| 3 | atan(x) x のアークタンジェントをラジアンで返す。 |
| 4 | atan2(y, x) atan(y / x) をラジアンで返す。 |
| 5 | cos(x) x ラジアンのコサインを返す。 |
| 6 | hypot(x, y) ユークリッドノルム sqrt(x*x + y*y) を返す。 |
| 7 | sin(x) x ラジアンのサインを返す。 |
| 8 | tan(x) x ラジアンのタンジェントを返す。 |
| 9 | degrees(x) 角度 x をラジアンから度に変換。 |
| 10 | radians(x) 角度 x を度からラジアンに変換。 |
数学定数
このモジュールは以下の 2 つの数学定数も定義しています。
| 番号 | 定数と説明 |
|---|---|
| 1 | pi 数学定数 π。 |
| 2 | e 数学定数 e(ネイピア数)。 |
Python
- Python データ型マスター: 実践ガイド
- Python 演算子完全マスター: 包括的ガイド
- Python pass文完全マスター: 実践ガイド
- Python 関数引数完全マスター: 位置引数・キーワード引数・デフォルト引数
- Pythonにおける数値、型変換、数学のマスター
- Python辞書完全ガイド:作成、操作、高度なテクニック
- Pythonイテレータ完全ガイド:仕組みと自作方法
- Pythonクロージャ解説:ネスト関数が変数を捕捉する仕組み
- Python datetimeマスター:日付・時刻・タイムゾーン実践ガイド
- Pythonのtime.sleep()をマスター:ベストプラクティス、マルチスレッド、実例
- Python abs()関数:数値と複素数の絶対値を計算