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实现批量把SVG格式转成png、pdf格式的代码分享
Aug 21 Python
简单谈谈Python中函数的可变参数
Sep 02 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
Feb 21 Python
Django使用Celery异步任务队列的使用
Mar 13 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
Jan 23 Python
在django中图片上传的格式校验及大小方法
Jul 28 Python
python中class的定义及使用教程
Sep 18 Python
python中return的返回和执行实例
Dec 24 Python
Python安装OpenCV的示例代码
Mar 05 Python
用ldap作为django后端用户登录验证的实现
Dec 07 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
Python关于OS文件目录处理的实例分享
May 23 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
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
怎么在Windows系统中搭建php环境
2013/08/31 PHP
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
JS实现根据当前文字选择返回被选中的文字
2014/05/21 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
谈谈第三方App接入微信登录 解读
2016/12/27 Javascript
js canvas实现简单的图像扩散效果
2020/06/28 Javascript
JS+jQuery实现注册信息的验证功能
2017/09/26 jQuery
基于vue实现分页效果
2017/11/06 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
python制作爬虫爬取京东商品评论教程
2016/12/16 Python
python 查找字符串是否存在实例详解
2017/01/20 Python
Python 转义字符详细介绍
2017/03/21 Python
使用Python进行AES加密和解密的示例代码
2018/02/02 Python
python numpy 反转 reverse示例
2019/12/04 Python
django配置app中的静态文件步骤
2020/03/27 Python
Django REST framwork的权限验证实例
2020/04/02 Python
python访问hdfs的操作
2020/06/06 Python
python如何保存文本文件
2020/06/07 Python
python和JavaScript哪个容易上手
2020/06/23 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
建筑文秘专业个人求职信范文
2013/12/28 职场文书
煤矿班组长岗位职责
2013/12/29 职场文书
最新大学职业规划书范文
2013/12/30 职场文书
网络工程师职业规划
2014/02/10 职场文书
关于爱国的标语
2014/06/24 职场文书
机关作风建设整改方案
2014/10/27 职场文书
大学生年度个人总结
2015/02/15 职场文书
初中班干部工作总结
2015/08/10 职场文书
2016师德师风学习心得体会
2016/01/12 职场文书
九年级数学教学反思
2016/02/17 职场文书
Python实现文本文件拆分写入到多个文本文件的方法
2021/04/18 Python