Pythonの数学関数?
Pythonで単純な数学演算から複雑な数学演算(三角関数、対数演算など)を実行する場合、math()モジュールを使用する必要がある場合があります。
python mathモジュールは、数学関数にアクセスするために使用されます。 math()関数のすべてのメソッドは、整数型または実数型のオブジェクトに使用されますが、複素数には使用されません。
この関数を使用するには、コードにインポートする必要があります
import math
定数
これらの定数をPythonでの計算に使用します-
定数 | 説明 |
---|---|
Pi | 円周率の値を返します:3.141592 |
E | 自然底eの値を返します。 eは0.718282です |
tau | タウの値を返します。タウ=6.283185 |
inf | 無限を返します |
nan | 数値タイプではありません |
数値と数値表現
Pythonは、さまざまな形式で数値を表すために使用されるさまざまな関数を提供します。たとえば、-
関数 | 説明 |
---|---|
Ceil(x) | 数値x以上の最小値である上限値を返します。 |
copysign(x、y) | xの数を返し、yの符号をxにコピーします。 |
fabs(x) | xの絶対値を返します。 |
階乗(x) | xの階乗を返します。ここでx>=0 |
floor(x) | 数値x以下の最大の整数であるフロア値を返します。 |
fsum(iterable) | 反復可能なオブジェクトの要素の合計を返します |
gcd(x、y) | xとyの最大公約数を返します。 |
isfinite(x) | xが無限大でもnanでもないかどうかをチェックします。 |
isinf(x) | xが無限大かどうかをチェックします |
isnan(s) | sが数値でないかどうかをチェックします |
remainder(x、y) | xをyで割った余りを求めます。 |
上記の数学関数の使用法を示すプログラムを書いてみましょう-
#Import math library import math #Floor and Ceiling print('The Floor and Ceiling value of 9.45 are: ' + str(math.ceil(9.45)) + ', ' + str(math.floor(9.45))) #Copysign x = 94 y = -27 print('The value of x after copying the sign from y is: ' + str(math.copysign(x, y))) #Absolute print('Absolute value of -94 and 54 are: ' + str(math.fabs(-94)) + ', ' + str(math.fabs(54))) #Fsum & gcd my_list = [12, 9.25, 89, 3.02, -75.23, -7.2, 6.3] print('Sum of the elements of the list: ' + str(math.fsum(my_list))) print('The GCD of 24 and 56 : ' + str(math.gcd(24, 48))) #isnan x = float('nan') if math.isnan(x): print('It is not a number') x = float('inf') #isinf y = 54 if math.isinf(x): print('It is Infinity') #x is not a finite number print(math.isfinite(x)) #y is a finite number print(math.isfinite(y))
結果
The Floor and Ceiling value of 9.45 are: 10, 9 The value of x after copying the sign from y is: -94.0 Absolute value of -94 and 54 are: 94.0, 54.0 Sum of the elements of the list: 37.13999999999999 The GCD of 24 and 56 : 24 It is not a number It is Infinity False True
電力および対数関数
これらの関数は、Pythonでさまざまな電力および対数関連のタスクを計算するために使用されます。
関数 | 説明 |
---|---|
pow(x、y) | Return-xのy乗の値 |
sqrt(x) | xの平方根を求めます |
exp(x) | xeを検索します。ここで、e =2.718281 |
log(x [、base]) | ベースが指定されているxの対数を返します。デフォルトのベースはeです |
log2(x) | xの対数を返します。ここで、基数は2です。 |
log10(x) | xの対数を返します。ここで、基数は10です。 |
上記の関数の使用法を示すサンプルプログラム
import math print("The value of 2^5: " + str(math.pow(2, 5))) print("Square root of 625: " + str(math.sqrt(625))) print("The value of 5^e: " + str(math.exp(5))) print("The value of log(625), base 5: " + str(math.log(625, 5))) print("The value of log(1024), base 10: " + str(math.log10(1024))) print("The value of log(1024), base 2: " + str(math.log2(1024)))
結果
The value of 2^5: 32.0 Square root of 625: 25.0 The value of 5^e: 148.4131591025766 The value of log(625), base 5: 4.0 The value of log(1024), base 10: 3.010299956639812 The value of log(1024), base 2: 10.0
三角関数と角度変換関数
これらの関数は、さまざまな三角演算を計算するために使用されます-
関数 | 説明 |
---|---|
sin(x) | xの正弦をラジアンで返します |
cos(x) | xのコサインをラジアンで返します |
tan(x) | xの接線をラジアンで返します |
asin(x) | 正弦の逆関数を返します。同様に、acos、atanもあります。 |
degrees(x) | 角度xをラジアンから度に変換します |
ラジアン(x) | 角度xを度からラジアンに変換します |
上記の関数の使用法を示すサンプルプログラム
import math print("The value of sin(45 degree): " + str(math.sin(math.radians(45)))) print('The value of cos(pi): ' + str(math.cos(math.pi))) print("The value of tan(45 degree): " + str(math.tan(math.pi/2))) print("the angle of sin(0.95504050560):" + str(math.degrees(math.sin(0.95504050560))))
結果
The value of sin(45 degree): 0.7071067811865475 The value of cos(pi): -1.0 The value of tan(45 degree): 1.633123935319537e+16 the angle of sin(0.95504050560):46.77267256206895
-
Python数学関数
数学 モジュールは、Pythonの数学関数にアクセスするために使用されます。この関数のすべてのメソッドは、複素数ではなく、整数型または実数型のオブジェクトに使用されます。 このモジュールを使用するには、そのモジュールをコードにインポートする必要があります。 import math いくつかの定数 これらの定数は、計算に含めるために使用されます。 Sr.No。 定数と説明 1 pi 円周率の値を返します:3.141592 2 E 自然ベースの値を返しますe。 eは0.718282 3 タウ タウの値を返します。タウ=6.2
-
Python文字列で数学演算を実行できますか?
eval関数を使用して、文字列の数式を評価できます。 例 たとえば、コンテンツ(4 * 5)+ 21の文字列がある場合、それを評価して結果を取得できます。 >>> s = "(4*5) + 22" >>> eval(s) 42 Evalは、括弧が指定されていない場合などの数式を評価するためのPythonルールに従います。evalを使用する場合は、セキュリティの大きな抜け穴やバグの原因となる可能性があるため、十分に注意してください。