第37天:Python math 模块

简介: 第37天:Python math 模块

我们知道 Python 有很多运算符可以进行数学运算,如果是简单的问题还好说,但是要处理一些相对复杂的问题也要我们自己一行一行手动的来编写吗?答案当然不是,Python 提供了 math 模块对一些数学运算提供了支持。

1 简介

math 模块提供了对 C 标准定义的数学函数的访问,但该模块并不支持复数运算,如果想使用复数预算需使用 cmath 模块,将支持计算复数的函数区分开的目的,来自于大多数开发者并不愿意像数学家一样需要学习复数的概念,说白了就是我们开发工作几乎用不到复数,得到一个异常而不是一个复数结果也能让我们更早地监测到传递的参数中包含复数。我们可以先使用 dir 函数查看 math 中包含的内容。示例如下:


import math
print(dir(math))

2 常用函数

ceil(x)


返回 x 的上限,即大于或者等于 x 的最小整数,如果 x 不是一个浮点数,返回一个 Integral 值。示例如下:


import math
print(math.ceil(-1))print(math.ceil(1.024))


copysign(x, y)


返回一个基于 x 的绝对值和 y 的符号的浮点数。示例如下:


import math
#-1 的符号(-)赋给 1print(math.copysign(1,-1))#输出结果#-1.0


fabs(x)


返回 x 的绝对值。示例如下:


import math
print(math.fabs(-1))


factorial(x)


以一个整数返回 x 的阶乘,如果 x 不是整数或为负数时则将引发 ValueError。示例如下:


import math
print(math.factorial(6))print(math.factorial(-6))


floor(x)


返回 x 的向下取整,小于或等于 x 的最大整数,如果 x 不是浮点数,则返回 Integral 值。示例如下:


import math
print(math.floor(-1.024))print(math.floor(1024))


fmod(x, y)


得到 x/y 的余数,其值是一个浮点数。示例如下:


import math
print(math.fmod(1,2))


frexp(x)


返回 x 的尾数和指数对 (m, e),m 是一个浮点数,e 是一个整数,正好是 x == m * 2**e,如果 x 为零,则返回 (0.0, 0) ,否则返回 0.5 <= abs(m) < 1 。示例如下:


import math
print(math.frexp(1024))


fsum(iterable)


返回迭代中的精确浮点值。示例如下:


import math
print(math.fsum([1,2,3,4,5,6]))


gcd(a, b)


返回整数 a 和 b 的最大公约数。示例如下:


import math
print(math.gcd(3, 9))


exp(x)


返回 e 的 x 幂,其中 e = 2.718281... 是自然对数的基数。示例如下:


import math
print(math.exp(6))


expm1(x)


返回 e 的 x 次幂减 1。示例如下:

log(x, base=None)

返回 x 的自然对数,默认以 e 为基数,base 参数给定时,将 x 的对数返回给定的 base,计算式为:log(x)/log(base)。示例如下:


import math
print(math.log(10,24))


log1p(x)


返回 x+1 的自然对数(基数为 e)的值。示例如下:


import math
print(math.log1p(1024))


log2(x)


返回 x 以 2 为底的对数,通常比 log(x, 2) 更准确。示例如下:


import math
print(math.log2(1024))

log10(x) 与之类似,返回 x 底为 10 的对数。


pow(x, y)


将返回 x 的 y 次幂。示例如下:


import math
print(math.pow(6,2))


sqrt(x)


返回 x 的平方根。示例如下:


import math
print(math.sqrt(1024))


acos(x)


以弧度为单位返回 x 的反余弦值,x 为 -1 到 1 之间的数值,如果 x 是大于 1,会产生一个错误。示例如下:


import math
print(math.acos(0.5))print(math.acos(3))


asin(x)


以弧度为单位返回 x 的反正弦值。示例如下:


import math
print(math.asin(0.5))


atan(x)


以弧度为单位返回 x 的反正切值。示例如下:


import math
print(math.atan(0.5))


cos(x)


返回 x 弧度的余弦值。示例如下:


import math
print(math.cos(0.5))


sin(x)


返回 x 弧度的正弦值。示例如下:


import math
print(math.sin(0.5))


tan(x)


返回 x 弧度的正切值。示例如下:


import math
print(math.sin(0.5))

总结

本节给大家介绍了 math 模块的一些概念和常用函数的使用,对 Python 工程师使用 math 模块提供了支撑。

示例代码:Python-100-days-day037

参考:

https://docs.python.org/zh-cn/3.7/library/math.html

目录
相关文章
|
8天前
|
安全 调度 Python
什么是Python中的事件驱动编程?如何使用`asyncio`模块实现异步事件处理?
【2月更文挑战第4天】【2月更文挑战第9篇】什么是Python中的事件驱动编程?如何使用`asyncio`模块实现异步事件处理?
|
11天前
|
Java Python
使用Python的concurrent.futures模块简化多线程与多进程编程
使用Python的concurrent.futures模块简化多线程与多进程编程
|
11天前
|
并行计算 程序员 API
Python多进程编程:利用multiprocessing模块实现并行计算
Python多进程编程:利用multiprocessing模块实现并行计算
|
11天前
|
开发者 Python
Python中的正则表达式:re模块详解与实例
Python中的正则表达式:re模块详解与实例
|
11天前
|
JSON 数据库 数据格式
Python标准库中的常用模块介绍与使用技巧
Python标准库中的常用模块介绍与使用技巧
|
2月前
|
存储 Python
【Python 30天速成计划】4.函数和模块导入
【Python 30天速成计划】4.函数和模块导入
|
2月前
|
Shell Python
python 模块和包
python 模块和包
|
2月前
|
前端开发 安全 Unix
Python编程手册系列 - 日历、日期、时间相关内建模块详解
Python编程手册系列 - 日历、日期、时间相关内建模块详解
59 0
|
2月前
|
Java API 数据安全/隐私保护
python基础知识专题 - 模块的打包和发布
python基础知识专题 - 模块的打包和发布
30 0
|
2月前
|
人工智能 数据挖掘 Python
Python模块与包的管理与使用
Python作为一种广泛应用的编程语言,模块与包的管理与使用是其核心特性之一。本文将介绍Python中模块与包的概念,以及如何进行有效的管理和利用,帮助读者更好地理解和运用Python编程。

相关产品

  • 云迁移中心