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解决鸡兔同笼问题的方法
Dec 20 Python
python实现雨滴下落到地面效果
Jun 21 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
Oct 31 Python
Python socket实现多对多全双工通信的方法
Feb 13 Python
PyTorch搭建一维线性回归模型(二)
May 22 Python
python语言基本语句用法总结
Jun 11 Python
Python对象的属性访问过程详解
Mar 05 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
Mar 09 Python
Python numpy多维数组实现原理详解
Mar 10 Python
Python flask框架实现查询数据库并显示数据
Jun 04 Python
python中tab键是什么意思
Jun 18 Python
python 进阶学习之python装饰器小结
Sep 04 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
德劲1103的维修打理经验
2021/03/02 无线电
php数组函数序列之rsort() - 对数组的元素值进行降序排序
2011/11/02 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
详解js异步文件加载器
2016/01/24 PHP
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
干货!教大家如何选择Vue和React
2017/03/13 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
vue微信分享出来的链接点开是首页问题的解决方法
2018/11/28 Javascript
详解es6新增数组方法简便了哪些操作
2019/05/09 Javascript
js实现坦克移动小游戏
2019/10/28 Javascript
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
Python Web框架Flask中使用新浪SAE云存储实例
2015/02/08 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
pandas string转dataframe的方法
2018/04/11 Python
使用python读取txt文件的内容,并删除重复的行数方法
2018/04/18 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
python生成器用法实例详解
2019/11/22 Python
python已协程方式处理任务实现过程
2019/12/27 Python
Python日志syslog使用原理详解
2020/02/18 Python
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
《母亲的恩情》教学反思
2014/02/13 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
超市理货员岗位职责
2014/07/04 职场文书
论群众路线学习心得体会
2014/10/31 职场文书
保外就医申请书范文
2015/08/06 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书