Python 幂函数和对数函数
cbrt()函数
math模块中的cbrt()函数返回一个数的立方根。
语法
math.cbrt(x)
参数
- x − 数值操作数
返回值
cbrt() 函数返回给定数字的立方根。
示例
from math import cbrt
x = 27
cbr = cbrt(x)
print ("x: ",x, "cbrt(x): ", cbr)
x = 100
cbr = cbrt(x)
print ("x: ",x, "cbrt(x): ", cbr)
x = 8.8
cbr = cbrt(x)
print ("x: ",x, "cbrt(x): ", cbr)
它将会产生以下的 输出 −
x: 27 cbrt(x): 3.0
x: 100 cbrt(x): 4.641588833612779
x: 8.8 cbrt(x): 2.0645602309127344
exp() 函数
exp() 函数返回 x 的指数结果:ex。
语法
exp() 函数的语法如下所示:
import math
math.exp(x)
注意 − 该函数不能直接访问。因此,我们需要导入math模块,然后使用math静态对象调用该函数。
参数
- x − 这是一个数值表达式。
返回值
此方法返回x的指数:ex。
示例
以下示例显示了exp()方法的使用方法。
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(math.pi) : ", math.exp(math.pi))
运行上述程序时,会产生以下 输出 。
math.exp(-45.17) : 2.4150062132629406e-20
math.exp(100.12) : 3.0308436140742566e+43
math.exp(100.72) : 5.522557130248187e+43
math.exp(math.pi) : 23.140692632779267
exp2()函数
math模块中的exp2()函数返回2的x次方。它等同于2**x。
语法
math.exp2(x)
参数
- x - 数字操作数
返回值
该函数返回2的幂,幂值为 x 。
示例
from math import exp2
x = 6
val = exp2(x)
print ("x: ",x, "exp2(x): ", val)
print ("cross-check:", 2**6)
x = -3
val = exp2(x)
print ("x: ",x, "exp2(x): ", val)
x = 2.5
val = exp2(x)
print ("x: ",x, "exp2(x): ", val)
它将产生以下 输出 –
x: 6 exp2(x): 64.0
cross-check: 64
x: -3 exp2(x): 0.125
x: 2.5 exp2(x): 5.656854249492381
expm1() 函数
math模块的expm1()函数计算并返回e的x次方减1的结果。这里的e是自然对数的底数。expm1()函数提供了一种计算这个量的全精度方法。
语法
math.expm1(x)
参数
- x - int或float类型的操作数。
返回值
该函数返回一个数的指数值 – 1。
示例
from math import expm1
x = 6
val = expm1(x)
print ("x: ",x, "expm1(x): ", val)
x = -3
val = expm1(x)
print ("x: ",x, "expm1(x): ", val)
x = 2.5
val = expm1(x)
print ("x: ",x, "expm1(x): ", val)
它将产生以下 输出 −
x: 6 expm1(x): 402.4287934927351
x: -3 expm1(x): -0.950212931632136
x: 2.5 expm1(x): 11.182493960703473
log()函数
log()函数返回 x 的自然对数,其中 x > 0。
语法
以下是log()函数的语法−
import math
math.log( x )
说明 - 这个函数不可以直接访问,所以我们需要导入math模块,然后通过math静态对象调用这个函数。
参数
- x - 这是一个数值表达式。
返回值
这个函数返回 x 大于0时的自然对数。
示例
下面的例子展示了log()方法的用法:
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(math.pi) : ", math.log(math.pi))
当我们运行上面的程序时,它会产生以下输出-
math.log(100.12) : 4.6063694665635735
math.log(100.72) : 4.612344389736092
math.log(math.pi) : 1.1447298858494002
log10() 函数
log10() 函数返回以 10 为底的对数 x (对于 x > 0)。
语法
log10() 函数的语法如下:
import math
math.log10(x)
注意 −这个函数不能直接使用,我们需要导入math模块,然后使用math静态对象来调用这个函数。
参数
- x −这是一个数值表达式。
返回值
这个函数返回以10为底的 x 的对数,其中 x >0。
示例
下面的示例显示了log10()函数的用法。
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(119) : ", math.log10(119))
print ("math.log10(math.pi) : ", math.log10(math.pi))
当我们运行以上程序时,它会产生以下输出-
math.log10(100.12) : 2.0005208409361854
math.log10(100.72) : 2.003115717099806
math.log10(119) : 2.0755469613925306
math.log10(math.pi) : 0.49714987269413385
log1p() 函数
log1p() 函数在 math 模块中返回 1+x 的自然对数(以 e 为底)。计算结果在 x 接近零时是准确的。
语法
math.log1p(x)
参数
- x - int或float操作数。
返回值
该函数返回1+x的自然对数。
示例
from math import log1p
x = 4
val = log1p(x)
print ("x: ",x, "log1p(x): ", val)
x = 2.5
val = log1p(x)
print ("x: ",x, "log1p(x): ", val)
x = -3
val = log1p(x)
print ("x: ",x, "log1p(x): ", val)
它将产生以下 输出 –
x: 4 log1p(x): 1.6094379124341003
x: 2.5 log1p(x): 1.252762968495368
Traceback (most recent call last):
File "C:\Users\mlath\examples\main.py", line 12, in <module>
val = log1p(x)
^^^^^^^^
ValueError: math domain error
负数异常: x 为负数时会引发ValueError异常
log2()函数
math模块中的log2()函数返回 x 的以2为底的对数。这通常比log(x, 2)更准确。
语法
math.log2(x)
参数
- x - 整数或浮点数操作数
返回值
函数返回以2为底的对数 x 。
示例
from math import log2
x = 4
val = log2(x)
print ("x: ",x, "log2(x): ", val)
x = 2.5
val = log2(x)
print ("x: ",x, "log2(x): ", val)
x = -3
val = log2(x)
print ("x: ",x, "log2(x): ", val)
它会产生以下的 输出 −
x: 4 log2(x): 2.0
x: 2.5 log2(x): 1.3219280948873624
Traceback (most recent call last):
File "C:\Users\mlath\examples\main.py", line 12, in <module>
val = log2(x)
^^^^^^^
ValueError: math domain error
pow()函数
pow()函数返回x的y次方值。math.pow()将它的两个参数转换为浮点数类型。使用**或内置的pow()函数可以计算精确的整数次方。
语法
pow()函数的语法如下所示:
import math
math.pow( x,y )
注意 - 此函数不能直接访问,因此我们需要导入math模块,然后使用math静态对象调用此函数。
参数
- x, y - 这是一个数值表达式。
返回值
此函数返回x的y次方值。
示例
以下示例展示了pow()函数的用法 –
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
sqrt()函数
sqrt()函数返回一个数的平方根 x ,其中 x > 0。
语法
sqrt()函数的语法如下:
import math
math.sqrt( x )
注意 − 这个函数不能直接访问,所以我们需要导入math模块,然后使用math静态对象调用该函数。
参数
- x − 这是一个数值表达式。
返回值
此方法返回 x 的平方根, 当 x > 0 时。
示例
下面的示例展示了sqrt()函数的用法−
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.6457513110645907
math.sqrt(math.pi) : 1.7724538509055159