python math模块的基本使用教程


Posted in Python onJanuary 16, 2021

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))

以上就是python math模块的基本使用教程的详细内容,更多关于python math模块的使用的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python脚本作为Windows服务启动代码详解
Feb 11 Python
python smtplib发送带附件邮件小程序
May 22 Python
详解TensorFlow查看ckpt中变量的几种方法
Jun 19 Python
python使用matplotlib模块绘制多条折线图、散点图
Apr 26 Python
Python SMTP发送邮件遇到的一些问题及解决办法
Oct 24 Python
pytz格式化北京时间多出6分钟问题的解决方法
Jun 21 Python
如何使用python爬虫爬取要登陆的网站
Jul 12 Python
Numpy与Pytorch 矩阵操作方式
Dec 27 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
Jun 29 Python
Django websocket原理及功能实现代码
Nov 14 Python
python实现视频压缩功能
Dec 18 Python
Python基础之操作MySQL数据库
May 06 Python
详解Python模块化编程与装饰器
Jan 16 #Python
删除pycharm鼠标右键快捷键打开项目的操作
Jan 16 #Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 #Python
python制作抽奖程序代码详解
Jan 15 #Python
python中PyQuery库用法分享
Jan 15 #Python
python中pdb模块实例用法
Jan 15 #Python
python实现马丁策略的实例详解
Jan 15 #Python
You might like
通过对服务器端特性的配置加强php的安全
2006/10/09 PHP
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
Yii框架页面渲染操作实例详解
2019/07/19 PHP
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
关于div自适应高度/左右高度自适应一致的js代码
2013/03/22 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
bootstrap table配置参数例子
2017/01/05 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
react-native fetch的具体使用方法
2017/11/01 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
微信小程序签到功能
2018/10/31 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
利用Python开发微信支付的注意事项
2016/08/19 Python
全面了解python中的类,对象,方法,属性
2016/09/11 Python
EM算法的python实现的方法步骤
2018/01/02 Python
python实现csv格式文件转为asc格式文件的方法
2018/03/23 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
python实现自动解数独小程序
2019/01/21 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
个人自我评价范文
2014/02/05 职场文书
《记承天寺夜游》教学反思
2014/02/16 职场文书
个人自查自纠材料
2014/10/14 职场文书
小学班主任自我评价
2015/03/11 职场文书
Python实现打乒乓小游戏
2021/09/25 Python
golang连接MySQl使用sqlx库
2022/04/14 Golang