Python Number(数値)
Python Number データ型は数値を格納するために使用されます。
データ型は変更が許可されていません。つまり、Number データ型の値を変更すると、メモリ空間が再割り当てされます。
次の例では、変数への代入時に Number オブジェクトが作成されます:
var1 = 1 var2 = 10
del 文を使用して、いくつかの Number オブジェクト参照を削除することもできます。
del 文の構文は次のとおりです:
del var1[,var2[,var3[....,varN]]]]
del 文を使用して、単一または複数のオブジェクトを削除できます。例:
del var del var_a, var_b
Python は4つの異なる数値型をサポートしています:
- 整数型(Int)- 通常、整数型または整数と呼ばれ、正または負の整数で、小数点はありません。
- 長整数型(long integers)- 無限の大きさの整数で、整数の最後には大文字または小文字の L が付きます。
- 浮動小数点型(floating point real values)- 浮動小数点型は整数部と小数部から構成されます。浮動小数点型は科学表記法で表すこともできます(2.5e2 = 2.5 x 102 = 250)
- 複素数型(complex numbers)- 複素数は実数部と虚数部から構成され、a + bj または complex(a,b) で表すことができます。複素数の実部 a と虚部 b はどちらも浮動小数点型です。
| 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 |
- 長整数型は小文字の「L」も使用できますが、数字の「1」と混同しないように、大文字の「L」を使用することをお勧めします。Python は「L」を使用して長整数型を表示します。
- Python は複素数もサポートしています。複素数は実数部と虚数部から構成され、a + bj または complex(a,b) で表すことができます。複素数の実部 a と虚部 b はどちらも浮動小数点型です。
Python Number 型変換
int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字符串 repr(x ) 将对象 x 转换为表达式字符串 eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s ) 将序列 s 转换为一个元组 list(s ) 将序列 s 转换为一个列表 chr(x ) 将一个整数转换为一个字符 unichr(x ) 将一个整数转换为Unicode字符 ord(x ) 将一个字符转换为它的整数值 hex(x ) 将一个整数转换为一个十六进制字符串 oct(x ) 将一个整数转换为一个八进制字符串
Python math モジュール、cmath モジュール
Python で数学演算によく使われる関数は、基本的に math モジュールと cmath モジュールにあります。
Python の math モジュールは、浮動小数点数の数学演算関数を多数提供しています。
Python の cmath モジュールには、複素数演算のための関数がいくつか含まれています。
cmath モジュールの関数は math モジュールの関数と基本的に同じです。違いは、cmath モジュールが演算するのは複素数であり、math モジュールが演算するのは数学演算であることです。
math または cmath の関数を使用するには、最初にインポートする必要があります:
import math
math を表示して、パッケージの内容を表示します:
>>> import math >>> dir(math) ['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc'] >>>
以下で、各関数の具体的な応用を紹介します。
cmath を表示して、パッケージの内容を表示します:
>>> import cmath >>> dir(cmath) ['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau'] >>>
例
>>> import cmath >>> cmath.sqrt(-1) 1j >>> cmath.sqrt(9) (3+0j) >>> cmath.sin(1) (0.8414709848078965+0j) >>> cmath.log10(100) (2+0j) >>>
Python 数学関数
| 関数 | 戻り値(説明) |
|---|---|
| abs(x) | 数値の絶対値を返します。例:abs(-10) は 10 を返します。 |
| ceil(x) | 数値の切り上げ整数を返します。例:math.ceil(4.1) は 5 を返します。 |
| cmp(x, y) | x < y の場合は -1 を返し、x == y の場合は 0 を返し、x > y の場合は 1 を返します。 |
| exp(x) | e の x 乗を返します(ex)、例:math.exp(1) は 2.718281828459045 を返します。 |
| fabs(x) | 数値の絶対値を浮動小数点数として返します。例:math.fabs(-10) は 10.0 を返します。 |
| floor(x) | 数値の切り捨て整数を返します。例:math.floor(4.9) は 4 を返します。 |
| log(x) | 例:math.log(math.e) は 1.0 を返し、math.log(100, 10) は 2.0 を返します。 |
| log10(x) | 10 を底とする x の対数を返します。例:math.log10(100) は 2.0 を返します。 |
| max(x1, x2,...) | 指定された引数の最大値を返します。引数はシーケンスでもかまいません。 |
| min(x1, x2,...) | 指定された引数の最小値を返します。引数はシーケンスでもかまいません。 |
| modf(x) | x の整数部分と小数部分を返します。2つの部分の数値の符号は x と同じで、整数部分は浮動小数点型で表されます。 |
| pow(x, y) | x**y を計算した後の値。 |
| round(x [,n]) | 浮動小数点数 x の四捨五入値を返します。n の値が指定された場合は、小数点以下の桁数への丸めを表します。 |
| sqrt(x) | 数値 x の平方根を返します。 |
Python 乱数関数
乱数は数学、ゲーム、セキュリティなどの分野で使用できます。また、アルゴリズムに組み込まれて、アルゴリズムの効率を向上させ、プログラムの安全性を高めるためによく使用されます。
Python には以下の一般的な乱数関数が含まれています:
| 関数 | 説明 |
|---|---|
| choice(seq) | シーケンスの要素からランダムに1つの要素を選びます。例:random.choice(range(10)) は、0から9の中からランダムに整数を1つ選びます。 |
| randrange ([start,] stop [,step]) | 指定された範囲内で、指定された基数ずつ増加する集合から乱数を取得します。基数のデフォルト値は 1 です。 |
| random() | 次の実数をランダムに生成します。これは [0, 1) の範囲内です。 |
| seed([x]) | 乱数生成器のシード(seed)を変更します。その原理を理解していない場合でも、わざわざ seed を設定する必要はありません。Python が seed を選択してくれます。 |
| shuffle(lst) | シーケンスのすべての要素をランダムに並べ替えます。 |
| uniform(x, y) | 次の実数をランダムに生成します。これは [x, y] の範囲内です。 |
Python 三角関数
Python には以下の三角関数が含まれています:
| 関数 | 説明 |
|---|---|
| acos(x) | x の逆余弦(アークコサイン)のラジアン値を返します。 |
| asin(x) | x の逆正弦(アークサイン)のラジアン値を返します。 |
| atan(x) | x の逆正接(アークタンジェント)のラジアン値を返します。 |
| atan2(y, x) | 指定された X および Y 座標のアークタンジェント値を返します。 |
| cos(x) | x のラジアンの余弦(コサイン)値を返します。 |
| hypot(x, y) | ユークリッドノルム sqrt(x*x + y*y) を返します。 |
| sin(x) | x のラジアンの正弦(サイン)値を返します。 |
| tan(x) | x のラジアンの正接(タンジェント)値を返します。 |
| degrees(x) | ラジアンを角度に変換します。例:degrees(math.pi/2) は 90.0 を返します。 |
| radians(x) | 角度をラジアンに変換します。 |
Python 数学定数
| 定数 | 説明 |
|---|---|
| pi | 数学定数 pi(円周率、一般に π で表される) |
| e | 数学定数 e、e は自然定数(自然対数の底)です。 |