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查看FTP是否能连接成功的方法
Jul 30 Python
分析python切片原理和方法
Dec 19 Python
详谈Numpy中数组重塑、合并与拆分方法
Apr 17 Python
python统计多维数组的行数和列数实例
Jun 23 Python
对python中for、if、while的区别与比较方法
Jun 25 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
Python 异步协程函数原理及实例详解
Nov 13 Python
Python读取YAML文件过程详解
Dec 30 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
Mar 23 Python
python字典key不能是可以是啥类型
Aug 04 Python
Django 如何实现文件上传下载
Apr 08 Python
Python3接口性能测试实例代码
Jun 20 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
php5 pdo新改动加载注意事项
2008/09/11 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
比较新旧两个数组值得增加和删除的JS代码
2013/10/30 Javascript
查看大图功能代码jquery版
2013/11/05 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
AngularJS实现动态切换样式的方法分析
2018/06/26 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
JS替换字符串中指定位置的字符(多种方法)
2020/05/28 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
TensorFlow平台下Python实现神经网络
2018/03/10 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
pytorch使用tensorboardX进行loss可视化实例
2020/02/24 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
python爬取代理ip的示例
2020/12/18 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
CSS3实现莲花绽放的动画效果
2020/11/06 HTML / CSS
CK美国官网:Calvin Klein
2016/08/26 全球购物
鱼油专家:Omegavia
2016/10/10 全球购物
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
银行实习生自我鉴定范文
2013/09/19 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
环保建议书500字
2014/05/14 职场文书
家长反馈意见及建议
2015/06/03 职场文书
python中的random模块和相关函数详解
2022/04/22 Python
Python可视化神器pyecharts绘制水球图
2022/07/07 Python