第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。示例如下:

import math
print(math.expm1(6))

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

系列文章

   第36天:Python calendar 模块
   第35天:pathlib 模块
   第34天:Python json&pickle

   第33天:Python 枚举

第32天:Python logging 模块详解

第31天:Python random 模块详解

第30天:Python collections 模块详解

第29天:Python queue 模块详解

第28天:Python sys 模块详解

第27天:Python shutil 模块

第26天:Python os 模块详解

第25天:Python datetime 和 time

第24天:Python Standard Library 02

第23天:Python Standard Library 01

第22天:Python NameSpace & Scope

第21天:Web开发 Jinja2模板引擎

第0-20天:从 0 学习 Python 0-20 天合集

(0)

相关推荐

  • Python干货宝典!玩转内置模块:日历模块

    Python定义了内置模块calendar它处理与日历相关的操作. Calendar module允许输出日历(如程序),并提供与日历相关的其他有用功能. Calendar模块中定义的函数和类使用理想 ...

  • python笔记46-史上最强大最好用的python日志模块nb_log

    前言 python的日志模块如何封装一值都是一个头疼的问题,封装的不好总是会出现重复打印等头疼问题. 现在终于找到一个最好用的日志模块nb_log,此日志模块由这位大佬开发的https://www.c ...

  • python random模块

    本篇介绍比较常用的一个标准模块,random. 这是一个随机数模块,可以用来随机生成随机数,经常被用于数学.游戏.算法等等上面. 1.导入random模块 要使用此模块,要先导入. import ra ...

  • python logging模块的几点总结

    http://www.voidcn.com/article/p-ctmbnbwp-bbo.html 关于使用python logging模块的几点总结 使用python的标准日志模块logging可以 ...

  • 第26天:Python os 模块详解

    第26天:Python os 模块详解

  • 第27天:Python shutil 模块

    shutil 可以看作 sh + util,即 shell 工具之意,该模块提供了一些针对文件和文件夹的高级操作,如:拷贝.删除.移动等,shutil 模块是对 os 模块的补充. 1 文件和文件夹操 ...

  • 第29天:Python queue 模块详解

    queue 模块即队列,特别适合处理信息在多个线程间安全交换的多线程程序中.下面我们对 queue 模块进行一个详细的使用介绍. 1 queue 模块定义的类和异常 queue 模块定义了以下四种不同 ...

  • 第30天:Python collections 模块

    第30天:Python collections 模块

  • 第31天:Python random 模块

    在本节中继续介绍 Python 提供的常用模块 random 模块,它的主要功能是用来生成伪随机数的. random 模块 Python 提供的 random 模块实现了各种分布式的伪随机数生成器.该 ...

  • 第32天:Python logging 模块详解

    This module defines functions and classes which implement a flexible event logging system for applic ...