Python math数学模块
介绍
在本文中,我们讨论Python中的数学模块。我们可以使用数学模块在Python中轻松计算许多数学运算。在处理特定的财务或严格的科学任务时,可能会偶尔需要进行数学计算。Python具有一个可以处理这些复杂计算的数学模块。数学模块中的函数可以执行简单的数学计算,如加法(+)和减法(-),以及复杂的数学计算,如三角函数运算和对数运算。
本教程教我们从基础到更高级的概念应用数学模块,并通过易于理解的示例来完全理解这些概念。我们已经包含了此模块中定义的所有内置函数的列表,以便更好地理解。
Python中的数学模块是什么
Python具有一个内置的数学模块。它是一个标准模块,因此我们不需要单独安装它。我们只需要在要使用的程序中导入它。我们可以像导入Python的任何其他模块一样,使用import math来实现执行数学运算的功能函数。
由于此模块的源代码是用C语言编写的,它提供了访问底层C库功能的途径。这里我们给出了Python中数学模块的一些基本示例。下面是示例代码-
程序代码1:
在这里,我们给出了Python中数学模块的一个示例,用于计算一个数字的平方根。代码如下所示-
# This program will show the calculation of square root using the math module
# importing the math module
import math
print(math.sqrt( 9 ))
输出:
现在我们在Python中编译上述代码,编译成功后运行它。然后输出如下 –
3.0
此Python模块不接受复杂数据类型。较复杂的等效模块是cmath模块。
例如,我们可以使用math模块中的内置函数计算任意给定角度的所有三角函数值。对于这些三角函数(sin、cos、tan等),我们必须以弧度为单位提供角度。然而,我们习惯以度数来度量角度。math模块提供了两种方法来将角度从弧度转换为度数,反之亦然。
程序代码2:
这里我们给出一个用于计算一个数字的阶乘的Python中的math模块示例。代码如下 –
import math
n=int(input())
print(math.factorial(n))
输出:
现在我们将上面的代码编译成Python,并在成功编译后运行它。然后输出如下 –
5
120
程序代码3:
现在我们用Python编译上面的代码,编译成功后我们运行它。然后输出如下 –
import math
num=int(input())
exp=int(input())
res=math.pow(num, exp)
print(res)
输出:
现在我们在Python中编译上面的代码,并且在成功编译后运行它。然后得到的输出如下 –
12
2
144.0
程序代码4:
这里我们给出一个用于计算两个数的最大公约数的Python数学模块的示例。代码如下 –
import math
n1=int(input())
n2=int(input())
res=math.gcd(n1,n2)
print(res)
输出:
现在我们在Python中编译上述代码,在成功编译后,运行它。然后输出如下 –
12
4
4
Math模块
编程代码-
我们使用一个程序代码来了解Python中Math模块的所有函数。代码如下所示 –
import math
dir(math)
输出:
现在我们在Python中编译上述代码,并在成功编译后运行它。然后输出如下 –
['__doc__',
'__loader__',
'__name__',
'__package__',
'__spec__',
'acos',
'acosh',
'asin',
'asinh',
'atan',
'atan2',
'atanh',
'ceil',
'comb',
'copysign',
'cos',
'cosh',
'degrees',
'dist',
'e',
'erf',
'erfc',
'exp',
'expm1',
'fabs',
'factorial',
'floor',
'fmod',
'frexp',
'fsum',
'gamma',
'gcd',
'hypot',
'inf',
'isclose',
'isfinite',
'isinf',
'isnan',
'isqrt',
'ldexp',
'lgamma',
'log',
'log10',
'log1p',
'log2',
'modf',
'nan',
'perm',
'pi',
'pow',
'prod',
'radians',
'remainder',
'sin',
'sinh',
'sqrt',
'tan',
'tanh',
'tau',
'trunc']
现在我们讨论上述功能在Python中的应用。
1. Ceil():
对于天花板,它将始终返回最接近正数的整数值。以下是在Python中提供的ceil()的程序代码:
import math
n = eval(input())
res = math.ceil(n)
print(res)
输出:
现在我们将以上代码在Python中编译,在成功编译后,运行它。然后输出如下 –
12.7856
13
2. floor() :
在floor()函数中,它总是返回最接近负数的整数值。下面是Python中floor()的程序代码 –
import math
n = eval(input())
res = math.floor(n)
print(res)
输出:
现在我们在Python中编译上述代码,在成功编译后运行它。然后输出如下 –
12.7856
13
3. fabs() :
在fabs()的情况下,它将始终返回最接近负值的值。这里我们给出了Python中fabs()的程序代码。代码如下 –
import math
n = eval(input())
res = math.fabs(n)
print(res)
输出:
现在我们在Python中编译上述代码,在成功编译后运行它。然后输出如下所示 –
12.7856
13
如何打印π的值
我们编写代码来打印Python数学模块中的π值。代码如下 –
import math
print(math.pi)
输出:
现在我们在Python中编译上述代码,编译成功后运行它。然后,输出如下所示 –
3.141592653589793
Python math模块中的除法概念是什么
我们在Python math模块中为除法概念编写代码。代码如下所示 –
a = int(input())
b = int(input())
res = a/b
print("Float Division" , res)
res = a//b
print("Integer Division" , res)
res = a % b
print("Reminder", res)
输出:
现在我们在Python中编译上述代码,成功编译后我们运行它。然后输出如下所示 –
12
5
Float Division 2.4
Integer Division 2
Reminder 2
数学模块中的常量
在math模块中提供了许多常量的值,包括pi和tau,以便我们不必记住它们。使用这些常量可以消除精确地重复写下每个常量值的需要。math模块包括以下常量:
- 自然对数的底数e
- Tau
- 无穷大
- 圆周率pi
- 非数字(NaN)
让我们逐个介绍它们。
自然对数的底数e
数学库的常量math.e返回自然对数的底数2.71828182845。
语法如下:
Euler’s number的语法如下 –
math.e
程序代码:
现在我们编写一个打印自然对数的代码。代码如下 –
# importing the required library
import math
# printing the value of Euler's number using the math module
print( "The value of Euler's Number is: ", math.e )
输出:
现在我们将上述代码编译成Python,在成功编译后运行。然后输出如下 –
The value of Euler's Number is: 2.718281828459045
Tau
Tau是圆周与其半径之比。使用tau常数返回的值为6.283185307179586。
语法如下:
tau的语法如下 –
math.tau
程序代码
现在我们写一个代码来打印tau的值。代码如下所示-
# Importing the required library
import math
# Printing the value of tau using math module
print ( "The value of Tau is: ", math.tau )
输出:
现在我们在Python中编译上述代码,成功编译后运行它。然后下面给出输出 –
The value of Tau is: 6.283185307179586
无限大
无限大意味着没有边界。无限大指的是在实际数线的两个方向上都没有限制或永无止境的任何事物。数字无法充分代表它。math.inf返回一个正无穷大的常数。我们可以使用-math.inf来表示负无穷大。在这里,我们还可以将一个非常大的浮点数与正无穷大和负无穷大进行比较。
语法如下:
无限大的语法如下所示 –
math.inf
程序代码1:
现在我们编写一段代码来判断一个值是否为无穷大。代码如下 –
# Importing the required library
import math
# Printing the value of positive infinity using the math module
print( math.inf )
# Printing the value of negative infinity using the math module
print( -math.inf )
输出:
现在我们在Python中编译上述代码,在成功编译后运行它。然后给出如下输出-
inf
-inf
程序代码2:
现在我们编写一个代码来判断一个值是否为无穷大。代码如下 –
# Importing the required library
import math
# comparing the value of infinity
print( math.inf > 10e109 )
print( -math.inf < -10e109 )
输出:
现在我们在Python中编译上述代码,并在成功编译后运行它。然后,下面给出了输出 –
True
True
Pi
Pi是数学中的一个常数,用于计算圆的半径。每个人都知道Pi。数学上表示为分数22/7或者小数3.14。math.pi给出了最精确的Pi值。
语法如下:
Pi的语法如下-
math.pi
编程代码1:
现在我们编写一段代码来打印pi的值。代码如下 –
# Importing the required library
import math
# Printing the value of pi using the math module
print( "The value of pi is ", math.pi )
现在我们将上面的代码编译成Python,在成功编译后运行它。然后输出如下-
输出:
The value of pi is 3.141592653589793
让我们计算一个圆的周长。
程序代码2:
现在我们使用Python中的pi函数编写一个计算圆周长的代码。代码如下所示 –
# Importing the required library
import math
# radius of the circle
r = 4
# value of pi
pi_value = math.pi
# circumference of the circle
print("The value of the circle circumference: ",2 * pi_value * r)
输出
现在我们在Python中编译上述代码,并在成功编译后运行。然后下面给出输出 –
The value of the circle circumference: 25.132741228718345
NaN
math.nan给我们提供了一个浮点数nan(Not a Number)值。此值不是一个有效的数值。Float(“nan”) 和nan常量是可比较的。
代码:
现在我们编写一个代码来表示浮点数nan(Not a Number)值。代码如下 –
# Importing the required library
import math
# Printing the value of nan using the math module
print( math.nan )
输出:
现在我们在Python中编译上述代码,并在成功编译后运行它。然后输出如下 –
nan
使用Math模块进行数学运算
这部分将涵盖在表示论和数论中所需的函数,例如计算整数的阶乘。
计算天花板值和地板值
“天花板值”和“地板值”这两个术语分别指的是大于该数的最小整数值和小于该数的最大整数值。使用ceil()和floor()方法可以简化计算过程。
程序代码:
在这里,我们使用floor()和ceil()函数编写了一个Python代码。代码如下 –
# Python program to show how to use floor() and ceil() functions.
# importing the math module
import math
x = 4.346
# returning the ceiling value of 4.346
print("The ceiling value of 4.346 is : ", end="")
print( math.ceil(x) )
# returning the floor value of 4.346
print("The floor value of 4.346 is : ", end="")
print( math.floor(x) )
输出:
现在我们在Python中编译上面的代码,编译成功后,运行它。然后输出如下 –
The ceiling value of 4.346 is : 5
The floor value of 4.346 is : 4
计算给定数字的阶乘
我们可以使用math.factorial()函数以一行代码确定给定整数的阶乘。如果给定的数字不是整数,Python解释器将发送一条消息。
代码
# Python program to show how to use function() functions.
# importing the math module
import math
x = 6
# returning the factorial of 6
print( "The factorial of 6 is : ", math.factorial(x) )
# passing a non integral number
try:
print( "The factorial of 6.5 in: ", math.factorial(6.5) )
except:
print( "Cannot calculate factorial of a non-integral number" )
输出:
现在我们将上述代码编译成Python,编译成功后运行它。然后输出如下 –
The factorial of 6 is : 720
Cannot calculate factorial of a non-integral number
计算绝对值
math.fabs()方法返回给定数字的绝对值。
代码
# Python program to show how to use fabs() functions.
# importing the math module
import math
x = -45
# returning x's absolute value.
print( "The absolute value of -45 is: ", math.fabs(x) )
输出:
现在我们在Python中编译上述代码,编译成功后运行它。然后输出如下 –
The absolute value of -45 is: 45.0
计算指数
x的e次方,通常被称为数字x的指数,可以使用exp()函数进行计算。
代码
# Python program to show how to use the exp() function.
# importing the math module
import math
# declaring some value
num1 = 4
num2 = -3
num3 = 0.00
# passing above values to the exp() function
print( f"The exponenetial value of {num1} is: ", math.exp(num1) )
print( f"The exponenetial value of {num2} is: ", math.exp(num2) )
print( f"The exponenetial value of {num3} is: ", math.exp(num3) )
输出:
现在我们在Python中编译上述代码,编译成功后运行它。然后输出如下 –
The exponenetial value of 4 is: 54.598150033144236
The exponenetial value of -3 is: 0.049787068367863944
The exponenetial value of 0.0 is: 1.0
计算一个数的幂
x**y
是通过pow()函数计算的。这个函数在将其输入转换为浮点数后计算出幂的值。
代码
# Python program to show how to use the pow() function.
# importing the math module
import math
x = 4
y = 5
# returning x to the power of y.
print( f"The value of {x} to the power of {y} is: ", math.pow(x,y) )
**输出:
**
现在我们在Python中编译上述代码,并在成功编译后运行它。然后输出如下:
The value of 4 to the power of 5 is: 1024.0
在Python中,我们可以不使用pow函数也能计算幂。以下是代码-
程序代码:
# importing the math module
import math
x = 4
y = 5
# returning x to the power of y.
print( f"The value of {x} to the power of {y} is: ", x**y )
输出:
现在我们用Python编译上述代码,成功编译后,我们运行它。然后得到的输出如下 –
The value of 4 to the power of 5 is: 1024
计算正弦、余弦和正切
此函数接受以弧度为单位提供的角度作为输入,并通过sin()、cos()和tan()方法返回正弦、余弦和正切的值。
代码
# Python program to show how to use the sin(), cos(), tan() function.
# importing the math module
import math
angle = math.pi / 4
# returning the sine of pi/4
print( "The sine of pi/4 is : ", math.sin( angle ) )
# returning the cosine of pi/4
print( "The cosine of pi/4 is : ", math.cos( angle ) )
# returning the tangent of pi/4
print("The tangent of pi/4 is : ", math.tan( angle ))
输出:
现在我们在Python中编译上述代码,在编译成功后运行它。然后下面给出输出 –
The sine of pi/4 is : 0.7071067811865475
The cosine of pi/4 is : 0.7071067811865476
The tangent of pi/4 is : 0.9999999999999999
dir()函数
dir()函数返回一个由模块中定义的函数的标识符组成的字符串列表。
列表包括模块的名称、指定的常量、函数和方法的名称。这是一个简单的示例:
代码
# Importing the math module
import math
functions = dir(math)
print( functions )
输出:
现在我们将上述代码在Python中编译,在成功编译后运行它。然后输出如下 –
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
Python Math模块中所有函数的描述
这是math模块中所有属性和函数的列表,以及每个函数的简要描述。
功能 | 描述 |
---|---|
ceil(x) | 返回不小于x的最小整数。 |
copysign(x, y) | 返回带有y的符号的x。 |
fabs(x) | 返回x的绝对值。 |
factorial(x) | 返回x的阶乘。 |
floor(x) | 返回小于或等于x的最大整数。 |
fmod(x, y) | 返回x除以y的余数。 |
frexp(x) | 返回 x 的尾数和指数的对。 (m, e) |
fsum(iterable) | 返回可迭代对象的所有值的正确浮点数和。 |
isfinite(x) | 如果 x 不是无穷大也不是 NaN,则返回 True (Not a Number) |
isinf(x) | 如果 x 是正无穷大或负无穷大,则返回 True。 |
isnan(x) | 如果 x 是 NaN,则返回 True。 |
ldexp(x, i) | 返回 x * (2**i)。 |
modf(x) | 返回 x 的小数部分和整数部分。 |
trunc(x) | 返回x的取整整数值。 |
exp(x) | 返回e的x次方。 |
expm1(x) | 返回e的x次方减1。 |
log(x[, b]) | 返回以b为底的x的对数。(默认为e) |
log1p(x) | 返回1 + x的自然对数。 |
log2(x) | 返回x的以2为底的对数。 |
log10(x) | 返回x的以10为底的对数。 |
pow(x, y) | 返回x的y次幂。 |
sqrt(x) | 给出x的平方根。 |
acos(x) | 给出x的反余弦。 |
asin(x) | 给出x的反正弦。 |
atan(x) | 给出x的反正切。 |
atan2(y, x) | 返回atan(y / x)。 |
cos(x) | 返回x的余弦。 |
hypot(x, y) | 返回sqrt(xx + yy),即欧几里得范数。 |
sin(x) | 给出x的正弦。 |
tanh(x) | 返回 x 的双曲正切值。 |
exp(x) | 返回自然对数 e 的 x 次方。 |
log(x) | 返回 x 的自然对数。 |
sqrt(x) | 返回 x 的平方根。 |
ceil(x) | 将 x 四舍五入为最接近的上整数。 |
floor(x) | 将 x 四舍五入为最接近的下整数。 |
abs(x) | 返回 x 的绝对值。 |
pow(x, y) | 返回x的双曲余弦。 |
tanh(x) | 返回x的双曲正切。 |
erf(x) | 返回x的误差函数。 |
erfc(x) | 返回x的互补误差函数。 |
gamma(x) | 返回x的Gamma函数。 |
lgamma(x) | 返回Gamma函数在x处的绝对值的自然对数。 |
pi | 圆的周长与直径的比例是一个数学常数(3.14159…)。 |
e | e是数学中的一个常数(2.71828…) |
结论
所以,在这篇文章中,我们讨论了Python中的math模块。在math模块中,有许多可用于数学计算等的各种函数。我们讨论了math模块中的每个函数,并分享了一些这些函数的程序代码。