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模块filecmp 对文件比较的实现方法
Jun 29 Python
Matplotlib中文乱码的3种解决方案
Nov 15 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
Mar 18 Python
Python+PyQt5实现美剧爬虫可视工具的方法
Apr 25 Python
Python图像处理之图片文字识别功能(OCR)
Jul 30 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
Oct 24 Python
浅谈Python type的使用
Nov 19 Python
python 浅谈serial与stm32通信的编码问题
Dec 18 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
Jan 16 Python
vue常用指令代码实例总结
Mar 16 Python
python 利用matplotlib在3D空间中绘制平面的案例
Feb 06 Python
python中scipy.stats产生随机数实例讲解
Feb 19 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(1)
2006/10/09 PHP
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
js判断字符长度以及中英文数字等
2013/12/31 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
layer更改皮肤的实现方法
2019/09/11 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
python numpy格式化打印的实例
2018/05/14 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
在Pandas中给多层索引降级的方法
2018/11/16 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
2019/05/10 Python
Django中信号signals的简单使用方法
2019/07/04 Python
python爬虫beautifulsoup解析html方法
2020/12/07 Python
html5实现的便签特效(实战分享)
2013/11/29 HTML / CSS
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
简单说说tomcat的配置
2013/05/28 面试题
生产管理的三大手法
2013/11/11 职场文书
酒店员工职业生涯规划
2014/02/25 职场文书
机关工会开展学习雷锋活动总结
2014/03/01 职场文书
我们的节日清明节活动方案
2014/03/05 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
商务英语专业求职信
2014/06/26 职场文书
应届生面试求职信
2014/07/02 职场文书
团员个人年度总结
2015/02/26 职场文书
MySQL索引失效十种场景与优化方案
2023/05/08 MySQL