Pythonの数値
数値データ型は数値を格納します。これらは不変のデータ型です。つまり、数値データ型の値を変更すると、新しく割り当てられたオブジェクトになります。
Numberオブジェクトは、値を代入すると作成されます。たとえば –
var1 = 1 var2 = 10
また、delステートメントを使用して数値オブジェクトへの参照を削除することもできます。delステートメントの構文は次のとおりです。
del var1[,var2[,var3[....,varN]]]]
delステートメントを使用すると、単一のオブジェクトまたは複数のオブジェクトを削除できます。例えば:
del var del var_a, var_b
Pythonは4つの異なる数値型をサポートしています –
- int(符号付き整数):通常は整数または整数と呼ばれ、小数点がない正または負の整数です。
- long(long integer)longとも呼ばれ、整数のように書かれ、その後に大文字または小文字のLが続く無制限の整数です。
- float(浮動小数点実数):浮動小数点とも呼ばれ、実数を表し、整数部分と小数部分を分ける小数点で書かれます。浮動小数点数は、Eまたはeが10の累乗を示す(2.5e2 = 2.5 x 10 2 = 250)という科学記法でもよい。
- complex (複素数):a + bJの形式で、aとbは浮動小数点であり、J(またはj)は-1の平方根(虚数)を表します。数の実数部はaであり、虚数部はbである。複素数は、Pythonプログラミングではあまり使われません。
例
数字の例をいくつか挙げます
int |
|
|
|
|||
---|---|---|---|---|---|---|
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では、小文字のLを使うことができますが、数字1との混同を避けるために大文字のLだけを使うことをお勧めします。
- 複素数は、a + bjで示される実数浮動小数点数の順序付きペアから成ります。ここで、aは実数部、bは複素数の虚数部です。
数値型変換
Pythonは、混合型を含む式の内部で数値を評価用の共通型に変換します。しかし、オペレータまたは関数パラメータの要件を満たすために、あるタイプから別のタイプへ明示的に番号を強制する必要がある場合があります。
- xを平易な整数に変換するには、int(x)と入力します。
- xを長整数に変換するにはlong(x)と入力します。
- xを浮動小数点数に変換するにはfloat(x)と入力します。
- 複素数(x)を入力して、xを実数部xと虚数部ゼロの複素数に変換します。
- xとyを実数部xと虚数部yを持つ複素数に変換するには、complex(x、y)と入力します。xとyは数値式です
数学関数
Pythonには、数学的計算を実行する次の関数が含まれています。
関数 | 返品(説明) |
---|---|
abs(x) | xの絶対値:xとゼロとの間の(正の)距離。
次の例は、abs()メソッドの使用法を示しています。 #!/usr/bin/python print "abs(-45) : ", abs(-45) print "abs(100.12) : ", abs(100.12) print "abs(119L) : ", abs(119L) 上記のプログラムを実行すると、このようになります abs(-45) : 45 abs(100.12) : 100.12 abs(119L) : 119 |
ceil(x) | xのceil:x以上の最小の整数
!/usr/bin/python import math # This will import math module print "math.ceil(-45.17) : ", math.ceil(-45.17) print "math.ceil(100.12) : ", math.ceil(100.12) print "math.ceil(100.72) : ", math.ceil(100.72) print "math.ceil(119L) : ", math.ceil(119L) print "math.ceil(math.pi) : ", math.ceil(math.pi) 上記のプログラムを実行すると、このようになります math.ceil(-45.17) : -45.0 math.ceil(100.12) : 101.0 math.ceil(100.72) : 101.0 math.ceil(119L) : 119.0 math.ceil(math.pi) : 4.0 |
cmp(x、y) | x <yの場合は-1、x == yの場合は0、x> yの場合は1
#!/usr/bin/python print "cmp(80, 100) : ", cmp(80, 100) print "cmp(180, 100) : ", cmp(180, 100) print "cmp(-80, 100) : ", cmp(-80, 100) print "cmp(80, -100) : ", cmp(80, -100) 上記のプログラムを実行するとこのようになります cmp(80, 100) : -1 cmp(180, 100) : 1 cmp(-80, 100) : -1 cmp(80, -100) : 1 |
exp(x) | x:e xの指数関数
#!/usr/bin/python import math # This will import math module print "math.exp(-45.17) : ", math.exp(-45.17) print "math.exp(100.12) : ", math.exp(100.12) print "math.exp(100.72) : ", math.exp(100.72) print "math.exp(119L) : ", math.exp(119L) print "math.exp(math.pi) : ", math.exp(math.pi) 上記のプログラムを実行するとこのようになります。 math.exp(-45.17) : 2.41500621326e-20 math.exp(100.12) : 3.03084361407e+43 math.exp(100.72) : 5.52255713025e+43 math.exp(119L) : 4.7978133273e+51 math.exp(math.pi) : 23.1406926328 |
fabs(x) | xの絶対値。
#!/usr/bin/python import math # This will import math module print "math.fabs(-45.17) : ", math.fabs(-45.17) print "math.fabs(100.12) : ", math.fabs(100.12) print "math.fabs(100.72) : ", math.fabs(100.72) print "math.fabs(119L) : ", math.fabs(119L) print "math.fabs(math.pi) : ", math.fabs(math.pi) 上記のプログラムを実行するとこのようになります。 math.fabs(-45.17) : 45.17 math.fabs(100.12) : 100.12 math.fabs(100.72) : 100.72 math.fabs(119L) : 119.0 math.fabs(math.pi) : 3.14159265359 |
floor(x) | xのfloor:xより大きくない最大の整数
#!/usr/bin/python import math # This will import math module print "math.floor(-45.17) : ", math.floor(-45.17) print "math.floor(100.12) : ", math.floor(100.12) print "math.floor(100.72) : ", math.floor(100.72) print "math.floor(119L) : ", math.floor(119L) print "math.floor(math.pi) : ", math.floor(math.pi) 上記のプログラムを実行するとこのようになります。 math.floor(-45.17) : -46.0 math.floor(100.12) : 100.0 math.floor(100.72) : 100.0 math.floor(119L) : 119.0 math.floor(math.pi) : 3.0 |
log(x) | xの自然対数、x> 0
#!/usr/bin/python import math # This will import math module print "math.log(100.12) : ", math.log(100.12) print "math.log(100.72) : ", math.log(100.72) print "math.log(119L) : ", math.log(119L) print "math.log(math.pi) : ", math.log(math.pi) 上記のプログラムを実行するとこのようになります。 math.log(100.12) : 4.60636946656 math.log(100.72) : 4.61234438974 math.log(119L) : 4.77912349311 math.log(math.pi) : 1.14472988585 |
log10(x) | x> 0の場合のxの10の底
#!/usr/bin/python import math # This will import math module print "math.log10(100.12) : ", math.log10(100.12) print "math.log10(100.72) : ", math.log10(100.72) print "math.log10(119L) : ", math.log10(119L) print "math.log10(math.pi) : ", math.log10(math.pi) 上記のプログラムを実行するとこのようになります。 math.log10(100.12) : 2.00052084094 math.log10(100.72) : 2.0031157171 math.log10(119L) : 2.07554696139 math.log10(math.pi) : 0.497149872694
|
max(x1、x2、…) | 引数の最大値:正の無限大に最も近い値
#!/usr/bin/python print "max(80, 100, 1000) : ", max(80, 100, 1000) print "max(-20, 100, 400) : ", max(-20, 100, 400) print "max(-80, -20, -10) : ", max(-80, -20, -10) print "max(0, 100, -400) : ", max(0, 100, -400) 上記のプログラムを実行するとこのようになります。 max(80, 100, 1000) : 1000 max(-20, 100, 400) : 400 max(-80, -20, -10) : -10 max(0, 100, -400) : 100 |
min(x1、x2、…) | 引数の最小値:負の無限大に最も近い値
#!/usr/bin/python print "min(80, 100, 1000) : ", min(80, 100, 1000) print "min(-20, 100, 400) : ", min(-20, 100, 400) print "min(-80, -20, -10) : ", min(-80, -20, -10) print "min(0, 100, -400) : ", min(0, 100, -400) 上記のプログラムを実行するとこのようになります。 min(80, 100, 1000) : 80 min(-20, 100, 400) : -20 min(-80, -20, -10) : -80 min(0, 100, -400) : -400 |
modf(x) | 2項目タプルのxの小数部分と整数部分。両方の部分はxと同じ符号を持ちます。整数部分はfloatとして返されます。
#!/usr/bin/python import math # This will import math module print "math.modf(100.12) : ", math.modf(100.12) print "math.modf(100.72) : ", math.modf(100.72) print "math.modf(119L) : ", math.modf(119L) print "math.modf(math.pi) : ", math.modf(math.pi) 上記のプログラムを実行するとこのようになります。 math.modf(100.12) : (0.12000000000000455, 100.0) math.modf(100.72) : (0.71999999999999886, 100.0) math.modf(119L) : (0.0, 119.0) math.modf(math.pi) : (0.14159265358979312, 3.0) |
pow(x、y) | x ** yの値。
#!/usr/bin/python import math # This will import math module print "math.pow(100, 2) : ", math.pow(100, 2) print "math.pow(100, -2) : ", math.pow(100, -2) print "math.pow(2, 4) : ", math.pow(2, 4) print "math.pow(3, 0) : ", math.pow(3, 0) 上記のプログラムを実行するとこのようになります。 math.pow(100, 2) : 10000.0 math.pow(100, -2) : 0.0001 math.pow(2, 4) : 16.0 math.pow(3, 0) : 1.0 |
round(x [、n]) | xは小数点からn桁に丸められます。Pythonは、タイブレーカーとしてゼロから丸めます。丸(0.5)は1.0、丸(-0.5)は-1.0です。
#!/usr/bin/python print "round(80.23456, 2) : ", round(80.23456, 2) print "round(100.000056, 3) : ", round(100.000056, 3) print "round(-100.000056, 3) : ", round(-100.000056, 3) 上記のプログラムを実行するとこのようになります。 round(80.23456, 2) : 80.23 round(100.000056, 3) : 100.0 round(-100.000056, 3) : -100.0 |
sqrt(x) | x> 0のxの平方根
#!/usr/bin/python import math # This will import math module print "math.sqrt(100) : ", math.sqrt(100) print "math.sqrt(7) : ", math.sqrt(7) print "math.sqrt(math.pi) : ", math.sqrt(math.pi) 上記のプログラムを実行するとこのようになります。 math.sqrt(100) : 10.0 math.sqrt(7) : 2.64575131106 math.sqrt(math.pi) : 1.77245385091 |
乱数関数
乱数は、ゲーム、シミュレーション、テスト、セキュリティ、およびプライバシーアプリケーションに使用されます。Pythonには、よく使われる以下の関数が含まれています。
関数 | 説明 |
---|---|
choice(seq) | リスト、タプル、または文字列からのランダムな項目。
#!/usr/bin/python import random print "choice([1, 2, 3, 5, 9]) : ", random.choice([1, 2, 3, 5, 9]) print "choice('A String') : ", random.choice('A String') 上記のプログラムを実行すると、次の結果が生成されます。 choice([1, 2, 3, 5, 9]) : 2 choice('A String') : n |
randrange([start、] stop [、step]) | 範囲からランダムに選択された要素(開始、停止、ステップ)
#!/usr/bin/python import random # Select an even number in 100 <= number < 1000 print "randrange(100, 1000, 2) : ", random.randrange(100, 1000, 2) # Select another number in 100 <= number < 1000 print "randrange(100, 1000, 3) : ", random.randrange(100, 1000, 3) 上記のプログラムを実行すると、次の結果が生成されます。 randrange(100, 1000, 2) : 976 randrange(100, 1000, 3) : 520 |
random() | 0がr以下であり、rが1未満であるようなランダムフロートr
#!/usr/bin/python import random # First random number print "random() : ", random.random() # Second random number print "random() : ", random.random() 上記のプログラムを実行すると、次の結果が生成されます。 random() : 0.281954791393 random() : 0.309090465205 |
seed([x]) | 乱数の生成に使用される整数の開始値を設定します。他のランダムモジュール関数を呼び出す前にこの関数を呼び出したほうがいい。戻り値なし。
#!/usr/bin/python import random random.seed( 10 ) print "Random number with seed 10 : ", random.random() # It will generate same random number random.seed( 10 ) print "Random number with seed 10 : ", random.random() # It will generate same random number random.seed( 10 ) print "Random number with seed 10 : ", random.random() 上記のプログラムを実行すると、次の結果が生成されます。 Random number with seed 10 : 0.57140259469 Random number with seed 10 : 0.57140259469 Random number with seed 10 : 0.57140259469 |
shuffle(lst) | リストのアイテムをランダムに並べ替えます。戻り値なし。
#!/usr/bin/python import random list = [20, 16, 10, 5]; random.shuffle(list) print "Reshuffled list : ", list random.shuffle(list) print "Reshuffled list : ", list 上記のプログラムを実行すると、次の結果が生成されます。 Reshuffled list : [16, 5, 10, 20] Reshuffled list : [16, 5, 20, 10] |
uniform(x、y) | xがr以下でrがyより小さいランダムなfloat r
#!/usr/bin/python import random print "Random Float uniform(5, 10) : ", random.uniform(5, 10) print "Random Float uniform(7, 14) : ", random.uniform(7, 14) 上記のプログラムを実行すると、次の結果が生成されます。 Random Float uniform(5, 10) : 5.52615217015 Random Float uniform(7, 14) : 12.5326369199 |
三角関数
Pythonには、三角関数の計算を実行する関数が含まれています。
関数 | 説明 |
---|---|
acos(x) | xのアークコサインをラジアンで返します。
#!/usr/bin/python import math print "acos(0.64) : ", math.acos(0.64) print "acos(0) : ", math.acos(0) print "acos(-1) : ", math.acos(-1) print "acos(1) : ", math.acos(1) 上記のプログラムを実行すると、次の結果が生成されます。 acos(0.64) : 0.876298061168 acos(0) : 1.57079632679 acos(-1) : 3.14159265359 acos(1) : 0.0 |
asin(x) | xの逆正弦をラジアンで返します。
#!/usr/bin/python import math print "asin(0.64) : ", math.asin(0.64) print "asin(0) : ", math.asin(0) print "asin(-1) : ", math.asin(-1) print "asin(1) : ", math.asin(1) 上記のプログラムを実行すると、次の結果が生成されます。asin(0.64) : 0.694498265627 asin(0) : 0.0 asin(-1) : -1.57079632679 asin(1) : 1.57079632679 |
atan(x) | xの逆正接をラジアンで返します。
#!/usr/bin/python import math print "atan(0.64) : ", math.atan(0.64) print "atan(0) : ", math.atan(0) print "atan(10) : ", math.atan(10) print "atan(-1) : ", math.atan(-1) print "atan(1) : ", math.atan(1) 上記のプログラムを実行すると、次の結果が生成されます。 atan(0.64) : 0.569313191101 atan(0) : 0.0 atan(10) : 1.4711276743 atan(-1) : -0.785398163397 atan(1) : 0.785398163397 |
atan2(y、x) | atan(y / x)をラジアンで返します。
#!/usr/bin/python import math print "atan2(-0.50,-0.50) : ", math.atan2(-0.50,-0.50) print "atan2(0.50,0.50) : ", math.atan2(0.50,0.50) print "atan2(5,5) : ", math.atan2(5,5) print "atan2(-10,10) : ", math.atan2(-10,10) print "atan2(10,20) : ", math.atan2(10,20) 上記のプログラムを実行すると、次の結果が生成されます。: atan2(-0.50,-0.50) : -2.35619449019 atan2(0.50,0.50) : 0.785398163397 atan2(5,5) : 0.785398163397 atan2(-10,10) : -0.785398163397 atan2(10,20) : 0.463647609001 |
cos(x) | xラジアンのコサインを返します。
#!/usr/bin/python import math print "cos(3) : ", math.cos(3) print "cos(-3) : ", math.cos(-3) print "cos(0) : ", math.cos(0) print "cos(math.pi) : ", math.cos(math.pi) print "cos(2*math.pi) : ", math.cos(2*math.pi) 上記のプログラムを実行すると、次の結果が生成されます。: cos(3) : -0.9899924966 cos(-3) : -0.9899924966 cos(0) : 1.0 cos(math.pi) : -1.0 cos(2*math.pi) : 1.0 |
hypot(x、y) | ユークリッド標準、sqrt(x * x + y * y)を返します。
#!/usr/bin/python import math print "hypot(3, 2) : ", math.hypot(3, 2) print "hypot(-3, 3) : ", math.hypot(-3, 3) print "hypot(0, 2) : ", math.hypot(0, 2) 上記のプログラムを実行すると、次の結果が生成されます。: hypot(3, 2) : 3.60555127546 hypot(-3, 3) : 4.24264068712 hypot(0, 2) : 2.0 |
sin(x) | xラジアンの正弦を返します。
#!/usr/bin/python import math print "sin(3) : ", math.sin(3) print "sin(-3) : ", math.sin(-3) print "sin(0) : ", math.sin(0) print "sin(math.pi) : ", math.sin(math.pi) print "sin(math.pi/2) : ", math.sin(math.pi/2) 上記のプログラムを実行すると、次の結果が生成されます。 sin(3) : 0.14112000806 sin(-3) : -0.14112000806 sin(0) : 0.0 sin(math.pi) : 1.22464679915e-16 sin(math.pi/2) : 1.0 |
tan(x) | xラジアンの正接を返します。
#!/usr/bin/python import math print "tan(3) : ", math.tan(3) print "tan(-3) : ", math.tan(-3) print "tan(0) : ", math.tan(0) print "tan(math.pi) : ", math.tan(math.pi) print "tan(math.pi/2) : ", math.tan(math.pi/2) print "tan(math.pi/4) : ", math.tan(math.pi/4) 上記のプログラムを実行すると、次の結果が生成されます。 tan(3) : -0.142546543074 tan(-3) : 0.142546543074 tan(0) : 0.0 tan(math.pi) : -1.22460635382e-16 tan(math.pi/2) : 1.63317787284e+16 tan(math.pi/4) : 1.0 |
degrees(x) | 角度xをラジアンから度に変換します。
#!/usr/bin/python import math print "degrees(3) : ", math.degrees(3) print "degrees(-3) : ", math.degrees(-3) print "degrees(0) : ", math.degrees(0) print "degrees(math.pi) : ", math.degrees(math.pi) print "degrees(math.pi/2) : ", math.degrees(math.pi/2) print "degrees(math.pi/4) : ", math.degrees(math.pi/4) 上記のプログラムを実行すると、次の結果が生成されます。 degrees(3) : 171.887338539 degrees(-3) : -171.887338539 degrees(0) : 0.0 degrees(math.pi) : 180.0 degrees(math.pi/2) : 90.0 degrees(math.pi/4) : 45.0 |
radians(x) | 角度xを度からラジアンに変換します。
#!/usr/bin/python import math print "radians(3) : ", math.radians(3) print "radians(-3) : ", math.radians(-3) print "radians(0) : ", math.radians(0) print "radians(math.pi) : ", math.radians(math.pi) print "radians(math.pi/2) : ", math.radians(math.pi/2) print "radians(math.pi/4) : ", math.radians(math.pi/4) 上記のプログラムを実行すると、次の結果が生成されます。 radians(3) : 0.0523598775598 radians(-3) : -0.0523598775598 radians(0) : 0.0 radians(math.pi) : 0.0548311355616 radians(math.pi/2) : 0.0274155677808 radians(math.pi/4) : 0.0137077838904 |
数学定数
このモジュールでは、2つの数学定数も定義しています。
定数 | 説明 |
---|---|
pi | 数学定数pi。 |
e | 数学的定数e。 |
次のページ