Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの10進関数


Pythonには、Decimalと呼ばれるモジュールがあります。これは、10進浮動小数点関連のタスクを実行するために使用されます。このモジュールは、正しく丸められた浮動小数点演算を提供します。

最初に使用するには、Decimal標準ライブラリモジュールをインポートする必要があります。

import decimal

このセクションでは、Decimalモジュールのいくつかの重要な機能について説明します。

平方根関数sqrt()および指数関数exp()

sqrt()メソッドは、特定の10進型オブジェクトの平方根を計算するために使用されます。また、exp()メソッドは、指定されたxのe^x値を10進数として返します。

サンプルコード

#Perform sqrt() and exp() methods
import decimal
my_dec = decimal.Decimal(25.36)
print(my_dec)
#Find Square Root of the decimal number
print('Square Root is: ' + str(my_dec.sqrt()))
#Find e^x for the decimal number
print('e^x is: ' + str(my_dec.exp()))

出力

25.3599999999999994315658113919198513031005859375
Square Root is: 5.035871324805668565859161094
e^x is: 103206740212.7314661465187086

対数関数

Decimalモジュールにはいくつかの対数関数があります。ここでは、そのうちの2つについて説明します。 1つ目はln()メソッドです。この方法は、10進数の自然対数を見つけるために使用されます。

もう1つのメソッドはlog10()メソッドです。このメソッドは、底が10の対数値を見つけるために使用されます。

サンプルコード

#Perform ln() and log10() methods
import decimal
my_dec = decimal.Decimal(25.36)
print(my_dec)
#Find logarithmic value with base e
print('ln(x) is: ' + str(my_dec.ln()))
#Find logarithmic value with base 10
print('log(x) is: ' + str(my_dec.log10()))

出力

25.3599999999999994315658113919198513031005859375
ln(x) is: 3.233173129569025152000878282
log(x) is: 1.404149249209695070459909761

as_tuple()およびfma()メソッド

as_tupleメソッドは、小数を 3のタプルとして表すために使用されます。 要素。要素は符号、数字です および指数 価値。数値が0の場合の符号フィールドは、小数点以下がであることを意味します。 、1の場合、ネガティブを表します 番号。

fma()メソッドは、融合乗算と加算として知られています。 。 fma(x、y)を使用すると、(数値* x)+yが計算されます。この場合、(数値* x)の部分は四捨五入されません。

サンプルコード

#Perform as_tuple() and fma() methods
import decimal
my_dec1 = decimal.Decimal(5.3)
print(my_dec1)
my_dec2 = decimal.Decimal(-9.23)
print(my_dec2)
#Show decimal as tuple
print('\nmy_dec1 as tuple: ' + str(my_dec1.as_tuple()))
print('\nmy_dec2 as tuple: ' + str(my_dec2.as_tuple()))
#Perform Fused Multiply and Add
print('\n(x*5)+8 is: ' + str(my_dec1.fma(5, 8)))

出力

5.29999999999999982236431605997495353221893310546875
-9.230000000000000426325641456060111522674560546875

my_dec1 as tuple: DecimalTuple(sign=0, digits=(5, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 2, 2, 3, 6, 4, 
3, 1, 6, 0, 5, 9, 9, 7, 4, 9, 5, 3, 5, 3, 2, 2, 1, 8, 9, 3, 3, 1, 0, 5, 4, 6, 8, 7, 5), exponent=-50)

my_dec2 as tuple: DecimalTuple(sign=1, digits=(9, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 6, 3, 2, 5,
 6, 4, 1, 4, 5, 6, 0, 6, 0, 1, 1, 1, 5, 2, 2, 6, 7, 4, 5, 6, 0, 5, 4, 6, 8, 7, 5), exponent=-48)

(x*5)+8 is: 34.49999999999999911182158030

compare()メソッド

この比較方法は、2つの10進数を比較するためのものです。数値が同じ場合は0を返し、そうでない場合は最初の数値が大きい場合は+1を返し、最初の引数が小さい場合は-1を返します。

サンプルコード

#Perform compare() method
import decimal
#Compare when both are equal
print('Compare value: ' + str(decimal.Decimal(-5.3).compare(decimal.Decimal(-5.3))))
#Compare when first one is smaller
print('Compare value: ' + str(decimal.Decimal(-5.3).compare(decimal.Decimal(9.26))))
#Compare when first one is greater
print('Compare value: ' + str(decimal.Decimal(-5.3).compare(decimal.Decimal(-13.25))))

出力

Compare value: 0
Compare value: -1
Compare value: 1

いくつかのコピー機能

10進数を別の10進数オブジェクトにコピーするには、いくつかの異なる方法があります。最初のメソッドはcopy_abs()です。 10進数から絶対値を取得するために使用されます。 2番目のメソッドはcopy_negate()です。これは、実際の数値を否定した後に10進数をコピーするために使用されます。 3番目の関数はcopy_sign()です。このメソッドは、2番目の引数から符号を取得して、最初の引数を出力します。

サンプルコード

#Perform copy_abs(), copy_negate() and copy_sign()
import decimal
my_dec = decimal.Decimal(-25.36)
print(my_dec)
#copy the absolute value
temp_dec = my_dec.copy_abs()
print('Absolute is: ' + str(temp_dec))
#copy the negative value
my_dec = decimal.Decimal(7.26)
temp_dec = my_dec.copy_negate()
print('Negate of 7.26 is: ' + str(temp_dec))
#copy the sign value from second argument to first one
my_dec = decimal.Decimal(-25.36)
temp_dec = my_dec.copy_sign(decimal.Decimal(12.5))
print('Copy sign from second argument: ' + str(temp_dec))

出力

-25.3599999999999994315658113919198513031005859375
Absolute is: 25.3599999999999994315658113919198513031005859375
Negate of 7.26 is: -7.2599999999999997868371792719699442386627197265625
Copy sign from second argument: 25.3599999999999994315658113919198513031005859375

最大および最小メソッド

maxとminは2つの簡単な方法です。これらは、それぞれ2つの数値間の最大値または最小値を見つけるために使用されます。

サンプルコード

#Perform max() and min() methods
import decimal
my_dec1 = decimal.Decimal(5.3)
print(my_dec1)
my_dec2 = decimal.Decimal(-9.23)
print(my_dec2)
#Show Minimum and Maximum
print('Minumum: ' + str(my_dec1.min(my_dec2)))
print('Maximum: ' + str(my_dec2.max(my_dec1)))

出力

5.29999999999999982236431605997495353221893310546875
-9.230000000000000426325641456060111522674560546875
Minumum: -9.230000000000000426325641456
Maximum: 5.299999999999999822364316060

  1. Pythonの統計関数

    Pythonには、統計をインポートすることにより、数式、統計データを解決する機能があります。 キーワード。 Pythonは、さまざまな種類の統計および数学演算を実行できます。 これらの関数は、サンプルまたは母集団から平均値を計算します。 mean() データの算術平均値(平均)。 harmonic_mean() データの調和平均値。 中央値() データの中央値(中央値)。 median__low() データの中央値が低い。 median__high() データの中央値が高い。 median__grouped() グループ化されたデータの中央値。また、グループ

  2. Pythonの無名関数とは何ですか?

    Pythonでは、無名関数は名前なしで定義される関数です。通常の関数はdefキーワードを使用して定義されますが、Pythonでは無名関数はlambdaキーワードを使用して定義されます。したがって、無名関数はラムダ関数とも呼ばれます。 指定されたコードを実行すると、次の出力が得られます C:/Users/TutorialsPoint1/~.py [(13, -3), (4, 1), (1, 2), (9, 10)]