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 はどちらも浮動小数点型です。
intlongfloatcomplex
1051924361L0.03.14j
100-0x19323L15.2045.j
-7860122L-21.99.322e-36j
0800xDEFABCECBDAECBFBAEl32.3+e18.876j
-0490535633629843L-90.-.6545+0J
-0x260-052318172735L-32.54e1003e+26J
0x69-4721885298529L70.2-E124.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 は自然定数(自然対数の底)です。
その他の拡張