python math模块的基本使用教程
作者:゛竹先森゜ 发布时间:2022-01-30 23:07:53
标签:python,math,模块
what's the math 模块
Python math 模块提供了许多对浮点数的数学运算函数。需要注意的是,这些函数一般是对平台 C 库中同名函数的简单封装, 所以一般情况下, 不同平台下计算的结果可能稍微地有所不同, 有时候甚至有很大出入。
主要功能有:
幂数:幂次方、平方根
对数:2、10、e相关的对数操作
圆相关:π、弧度与角度的转换
三角函数:正三角函数、反三角函数
其他常用:小数的整数部分、向上取整、向下取整、两个数的最大公约数、取余数...
幂数
幂与平方根
# 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
常数e相关
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
三角函数
sin、cos、tan
math 模块对正三角函数的计算,变量是弧度,所以在计算时需要先将角度转换为弧度
angle = 30 # 30度
radian = math.radians(angle) # 角度转换成弧度
print(math.sin(radian))
print(math.cos(radian))
print(math.tan(radian))
asin和acos和atan
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
sinh和cosh和tanh,asinh和acosh和atanh
双曲正弦、余弦、正切,反双曲正弦、余弦、正切
其他
# 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))
来源:https://www.cnblogs.com/zhuminghui/p/12785085.html
0
投稿
猜你喜欢
- 本文实例讲述了Python实现方便使用的级联进度信息的方法。分享给大家供大家参考。具体实现方法如下:class StepedProgress
- 训练完目标检测模型之后,需要评价其性能,在不同的阈值下的准确度是多少,有没有漏检,在这里基于IoU(Intersection over Un
- 这是base2的作者Dean Edwards 2007年3月份的一篇文章。最近正在折腾JavaScript库,感觉Dean给出的这些规则很中
- 本文实例讲述了Python基于time模块求程序运行时间的方法。分享给大家供大家参考,具体如下:要记录程序的运行时间可以利用Unix系统中,
- 刚才画散点图要用到图例,可是matplotlib.pyplot.plot(x,y,'.')画出的散点图中图例是两个点(因为p
- 虽然ting88没有注册的用户不能下载歌曲,但搞定它也非难事啊:)进入www.ting88.com的网站,把歌手专辑页面的URL复制到文本框
- ppt要想完美的转pdf,图片,还是需要在windows下面来操作。1,安装python3.5.1下载地址Windows x86-64 ex
- Python安装selenium包打开命令行窗口,进入python交互环境python尝试导入selenium包,报错,说明尚未安装sele
- 本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalS
- 一,通用的ASCII码对照表 图解ASCII码对照表图,以字符A为例Dec表示十进制,如65Hx表示十六进制,如41Oct表示八进制,如10
- 在蓝色看到的几个js日历代码,整理了一下。大家可以用在blog上,或者可以用在表单的日期类型的数据选择中,方便大家填写日期。1.动感的日历,
- Pytorch的核心是两个主要特征:1.一个n维tensor,类似于numpy,但是tensor可以在GPU上运行2.搭建和训练神经网络时的
- 语音识别工作原理简介语音识别源于 20 世纪 50 年代早期在贝尔实验室所做的研究。早期语音识别系统仅能识别单个讲话者以及只有约十几个单词的
- 您是否知道 OpenCV 具有执行行人检测的内置方法?OpenCV 附带一个预训练的 HOG + 线性 SVM 模型,可用于在图像和视频流中
- 此文主要讲述的是SQL Server连接中经常出现的3个常见错误,以及对这三个错误的详细分析,如果你其心存好奇的话,以下的文章将会揭开它的神
- PDO::errorInfoPDO::errorCode — 返回最后一次操作数据库的错误信息(PHP 5 >= 5.1.0, PEC
- 从我们论坛中收集了这段HTML制作页面需要最大化、最小化时可以借鉴参考。最大化效果:<OBJECT id="max
- MatplotlibMatplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplo
- 生产系统随着业务增长总会经历一个业务量由小变大的过程,可扩展性是考量数据库系统高可用性的一个重要指标;在单表/数据库数据量过大,更新量不断飙
- 1、很多B2C或者淘宝的卖家反应,下单了但没有支付的占有率超过30%,有的甚至到40%。对于冲动性消费的商品来说,这个70%左右的转化率其实