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中functools模块函数解析
Mar 12 Python
用python做一个搜索引擎(Pylucene)的实例代码
Jul 05 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
Aug 03 Python
python学习教程之使用py2exe打包
Sep 24 Python
python实现redis三种cas事务操作
Dec 19 Python
Python常用的json标准库
Feb 19 Python
python字符串循环左移
Mar 08 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
Apr 11 Python
Python3 itchat实现微信定时发送群消息的实例代码
Jul 12 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
Mar 25 Python
django的模型类管理器——数据库操作的封装详解
Apr 01 Python
python实现文件+参数发送request的实例代码
Jan 05 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中的常用魔术方法总结
2013/08/02 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
php实现登陆模块功能示例
2016/10/20 PHP
javascript中length属性的探索
2011/07/31 Javascript
jquery入门—选择器实现隔行变色实例代码
2013/01/04 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
Python文件和目录操作详解
2015/02/08 Python
python查看zip包中文件及大小的方法
2015/07/09 Python
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
python中必要的名词解释
2019/11/20 Python
Html5基于canvas实现电子签名并生成PDF文档
2020/12/07 HTML / CSS
New Balance天猫官方旗舰店:始于1906年,百年慢跑品牌
2017/11/15 全球购物
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
实习教师自我鉴定
2013/12/12 职场文书
高中的自我鉴定
2013/12/16 职场文书
公司年会演讲稿范文
2014/01/11 职场文书
会议接待欢迎词
2014/01/12 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
公务员上班玩游戏检讨书
2014/09/17 职场文书
考试作弊万能检讨书
2014/10/19 职场文书
单位租房协议书样本
2014/10/30 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书
Nginx进程调度问题详解
2021/09/25 Servers