Python math 模块提供了许多对浮点数的数学运算函数。需要注意的是,这些函数一般是对平台 C 库中同名函数的简单封装, 所以一般情况下, 不同平台下计算的结果可能稍微地有所不同, 有时候甚至有很大出入。
主要功能有:
# pow(x, y):返回x的y次方 print(math.pow(2, 4)) # 2**4 # ldexp(x, i):返回x*(2**i)的值 print(math.ldexp(5, 2)) # 5*(2**2)=20.0 # sqrt(x):求x的平方根 print(math.sqrt(16)) # 4.0 # factorial(x):取x的阶乘的值 print(math.factorial(5)) # 5*4*3*2*1 # 120 # hypot(x, y):得到(x**2+y**2)的平方根 print(math.hypot(3, 4)) # 5
import math # 常数e math.e # 2.718281828459045 # exp(x):返回常数e的x次方 math.exp(2) # 7.38905609893065,相当于math.e**2 # expm1:返回常数e的x次方的值减1 math.expm1(1) # 1.718281828459045,相当于math.exp(1) - 1
# log2(x):返回x的基2对数 print(math.log2(128)) # 7 # log10(x):返回x的以10为底的对数 print(math.log10(100)) # 2 # log(x, base):返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base) print(math.log(256, 4)) # 4 # log1p(x)::返回x+1的自然对数(基数为e)的值 print(math.log1p(5))
# pi:常数π,圆周率 print(math.pi) # 3.141592653589793 angle = 30 # 30度 # radians:把角度x转换成弧度 print(math.radians(angle)) # 0.5235987755982988 print(30*math.pi/180) # 效果相同 # degrees:把x从弧度转换成角度 temp = math.radians(angle) print(math.degrees(temp)) # 29.999999999999996
math 模块对正三角函数的计算,变量是弧度,所以在计算时需要先将角度转换为弧度
angle = 30 # 30度 radian = math.radians(angle) # 角度转换成弧度 print(math.sin(radian)) print(math.cos(radian)) print(math.tan(radian))
math 模块对反三角函数的计算,返回值是弧度
h = math.asin(0.5) # sin(30) = 0.5 print(math.degrees(h)) # 30.000000000000004 h = math.acos(0.5) # cos(60) = 0.5 print(math.degrees(h)) # 60.00000000000001 h = math.atan(1) # tan(45) = 1 print(math.degrees(h)) # 45.0
双曲正弦、余弦、正切,反双曲正弦、余弦、正切
# trunc(x):返回x的整数部分 print(math.trunc(8.3)) # 8 # ceil(x):取大于等于x的最小的整数值,如果x是一个整数,则返回x print(math.ceil(10.2)) # 11 # floor(x):取小于等于x的最大的整数值,如果x是一个整数,则返回自身 print(math.floor(15.3)) # 15 # fabs(x):返回x的绝对值 print(math.fabs(-13)) # 13.0 # modf(x):返回由x的小数部分和整数部分组成的元组 print(math.modf(132.333)) # (0.3329999999999984, 132.0) # copysign(x, y):把y的正负号加到x前面,可以使用0 print(math.copysign(10 ,-15)) # -10.0 # fmod(x, y):得到x/y的余数,其值是一个浮点数 print(math.fmod(15, 2)) # 1.0 # gcd(x, y):返回x和y的最大公约数 print(math.gcd(8, 100)) # 4 # frexp(x):返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围 print(math.frexp(10)) # fsum(x):对迭代器里的每个元素进行求和操作 print(math.fsum([1, 2, 3, 4])) # 10.0 # isfinite(x):如果x是正无穷大或负无穷大,则返回True,否则返回False # # isinf(x):如果x是正无穷大或负无穷大,则返回True,否则返回False # # isnan(x):如果x不是数字True,否则返回False print(math.isnan(1.222))
计算2个坐标点的距离
import math x1 = 0 y1 = 20 x2 = 12 y2 = 0 p1 = (x1, y1) p2 = (x2, y2) result = math.sqrt(math.pow(x1 - x2, 2) +math.pow(y1 - y2, 2))
以上就是python math模块的基本使用教程的详细内容,更多关于python math模块的使用的资料请关注小牛知识库其它相关文章!
本文向大家介绍Python中zipfile压缩文件模块的基本使用教程,包括了Python中zipfile压缩文件模块的基本使用教程的使用技巧和注意事项,需要的朋友参考一下 zipfile Python 中 zipfile 模块提供了对 zip 压缩文件的一系列操作。 mode的几种: 解压:r 压缩:w 追加压缩:a 压缩一个文件 创建一个压缩文件 test.zip(如果test.zip文件不存
本文向大家介绍在Lua中使用模块的基础教程,包括了在Lua中使用模块的基础教程的使用技巧和注意事项,需要的朋友参考一下 什么是模块? 模块是一个像,可以使用需要加载并有包含表中的单个全局命名的库。该模块可包含若干函数和变量。所有这些函数和变量被包裹在以它作为一个命名空间的表。也是一个很乖的模块有必要的规定,返回此表上所需要的。 Lua模块 表中的模块的使用可以帮助我们以多种方式,使我们能够操纵模
本文向大家介绍Python使用SocketServer模块编写基本服务器程序的教程,包括了Python使用SocketServer模块编写基本服务器程序的教程的使用技巧和注意事项,需要的朋友参考一下 SocketServer简化了网络服务器的编写。它有4个类:TCPServer,UDPServer,UnixStreamServer,UnixDatagramServer。这4个类是同步进行处理的,另
因为Node.js是运行在服务区端的JavaScript环境,服务器程序和浏览器程序相比,最大的特点是没有浏览器的安全限制了,而且,服务器程序必须能接收网络请求,读写文件,处理二进制内容,所以,Node.js内置的常用模块就是为了实现基本的服务器功能。这些模块在浏览器环境中是无法被执行的,因为它们的底层代码是用C/C++在Node.js运行环境中实现的。 global 在前面的JavaScript
本文向大家介绍mongodb BSON的基本使用教程,包括了mongodb BSON的基本使用教程的使用技巧和注意事项,需要的朋友参考一下 查找 Find 这里查找时间戳内,账号为account,标签为tag的数据并统计个数。 聚合管道在mgo中为Pipe(pipeline interface{}) 这个和bash中使用的管道很像,数据可以被层层处理。一般传入的参数为[]bson.M。这个[]bs
本文向大家介绍Python中atexit模块的基本使用示例,包括了Python中atexit模块的基本使用示例的使用技巧和注意事项,需要的朋友参考一下 atexit模块很简单,只定义了一个register函数用于注册程序退出时的回调函数,我们可以在这个回调函数中做一些资源清理的操作。 注:如果程序是非正常crash,或者通过os._exit()退出,注册的回调函数将不会被调用。 我们也可以通过sy