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多进程通信Queue、Pipe、Value、Array实例
Nov 21 Python
Ruby元编程基础学习笔记整理
Jul 02 Python
Python WXPY实现微信监控报警功能的代码
Oct 20 Python
Python简单生成随机姓名的方法示例
Dec 27 Python
python如何实现内容写在图片上
Mar 23 Python
unittest+coverage单元测试代码覆盖操作实例详解
Apr 04 Python
python 实现分页显示从es中获取的数据方法
Dec 26 Python
python xpath获取页面注释的方法
Jan 14 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
使用已经得到的keras模型识别自己手写的数字方式
Jun 29 Python
python 监控logcat关键字功能
Sep 04 Python
详解基于Scrapy的IP代理池搭建
Sep 29 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
使用zend studio for eclipse不能激活代码提示功能的解决办法
2009/10/11 PHP
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
php若干单维数组遍历方法的比较
2011/09/20 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
JQuery的ajax基础上的超强GridView展示
2009/09/18 Javascript
JS 操作符整理[推荐收藏]
2011/11/15 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
JavaScript实现更改网页背景与字体颜色的方法
2015/02/02 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
2015/08/24 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
vue中改变滚动条样式的方法
2020/03/03 Javascript
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
Python实现计算圆周率π的值到任意位的方法示例
2018/05/08 Python
python numpy中cumsum的用法详解
2019/10/17 Python
python读取Kafka实例
2019/12/23 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
Python学习之路安装pycharm的教程详解
2020/06/17 Python
python中pathlib模块的基本用法与总结
2020/08/17 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
python中的测试框架
2020/11/13 Python
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
在线实验室测试:HealthLabs.com
2020/05/03 全球购物
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
文明教师事迹材料
2014/01/16 职场文书
中专毕业生自我鉴定
2014/02/02 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python