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实现根据主机名字获得所有ip地址的方法
Jun 28 Python
python实现中文转换url编码的方法
Jun 14 Python
python读写json文件的简单实现
Apr 11 Python
基于python(urlparse)模板的使用方法总结
Oct 13 Python
ubuntu17.4下为python和python3装上pip的方法
Jun 12 Python
Django csrf 两种方法设置form的实例
Feb 03 Python
Python使用sqlalchemy模块连接数据库操作示例
Mar 13 Python
matlab中imadjust函数的作用及应用举例
Feb 27 Python
Django 再谈一谈json序列化
Mar 16 Python
在Keras中利用np.random.shuffle()打乱数据集实例
Jun 15 Python
python 基于卡方值分箱算法的实现示例
Jul 17 Python
python实现图片转换成素描和漫画格式
Aug 19 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
PHP4 与 MySQL 交互使用
2006/10/09 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
php把session写入数据库示例
2014/02/26 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
smarty表格换行实例
2014/12/15 PHP
使用PHP生成PDF方法详解
2015/01/23 PHP
php查询操作实现投票功能
2016/05/09 PHP
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
Jquery post传递数组方法实现思路及代码
2013/04/28 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
快速学习JavaScript的6个思维技巧
2015/10/13 Javascript
js省市联动效果完整实例代码
2015/12/09 Javascript
AngularJS constant和value区别详解
2017/02/28 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
深入解析Python编程中super关键字的用法
2016/06/24 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
PyTorch如何搭建一个简单的网络
2020/08/24 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
九月份红领巾广播稿
2014/01/22 职场文书
JAVA程序员自荐书
2014/01/30 职场文书
酒店大堂副理的职责范文
2014/02/13 职场文书
2014年五四青年节演讲稿范文
2014/04/22 职场文书
活动总结报告怎么写
2014/07/03 职场文书
区长工作作风个人整改措施
2014/10/01 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2014年电教工作总结
2014/12/19 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
诚信考试承诺书范文
2015/04/29 职场文书
大学组织委员竞选稿
2015/11/21 职场文书
Python Django搭建文件下载服务器的实现
2021/05/10 Python