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用zip函数同时遍历多个迭代器示例详解
Nov 14 Python
用python处理图片之打开\显示\保存图像的方法
May 04 Python
基于anaconda下强大的conda命令介绍
Jun 11 Python
pandas 条件搜索返回列表的方法
Oct 30 Python
python 检查是否为中文字符串的方法
Dec 28 Python
详解python数据结构和算法
Apr 18 Python
在python中修改.properties文件的操作
Apr 08 Python
Django生成数据库及添加用户报错解决方案
Oct 09 Python
python设置中文界面实例方法
Oct 27 Python
利用Python pandas对Excel进行合并的方法示例
Nov 04 Python
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
Jun 09 Python
分享Python异步爬取知乎热榜
Apr 12 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
图解上海144收音机
2021/03/02 无线电
PHP clearstatcache()函数详解
2010/03/02 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
2016/10/28 PHP
Display SQL Server Login Mode
2007/06/21 Javascript
使用js判断TextBox控件值改变然后出发事件
2014/03/07 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
AngularJS  ng-table插件设置排序
2016/09/21 Javascript
微信小程序实战之自定义模态弹窗(8)
2017/04/18 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
Python模拟登录12306的方法
2014/12/30 Python
python利用微信公众号实现报警功能
2018/06/10 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
python 弧度与角度互转实例
2020/04/15 Python
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
大学校庆策划书
2014/01/31 职场文书
酒店总经理助理岗位职责
2014/02/01 职场文书
校园安全检查制度
2014/02/03 职场文书
房屋买卖协议书范本
2014/09/27 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
学生个人评语大全
2015/01/04 职场文书
离职感谢信
2015/01/21 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书
spring cloud gateway中如何读取请求参数
2021/07/15 Java/Android
Android自定义ScrollView实现阻尼回弹
2022/04/01 Java/Android
vue实现可以快进后退的跑马灯组件
2022/04/08 Vue.js
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库