Python3教程:math 模块的用法

yizhihongxing

我们知道 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 的符号(-)赋给 1
print(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 弧度的余弦值。示例如下:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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))

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3教程:math 模块的用法 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • Python教程:文件和读写的详细教程

    文件操作的模式 文件操作的模式如下表: 1. open 打开文件 使用 open 打开文件后一定要记得调用文件对象的 close() 方法。比如可以用 try/finally 语句来确保最后能关闭文件。 file_object = open(r’D:\test.txt’) # 打开文件 try: all_the_text = file_object.read…

    Python开发 2023年4月2日
    00
  • Python中高阶函数与装饰器教程

    1高阶函数 1.1 数学概念 回顾下数学知识: y=f(x) 这是最开始接触的普通函数 y=g(f(x)) 这个就是我们接触到的高阶函数 在数学和计算机科学中,高阶函数至少应当是满足下面一个条件的函数: 1)接受一个或者多个函数作为参数 2)输出一个函数 程序中我们的高阶函数也类似 示例计数器的函数: def counter(base): def inc(s…

    Python开发 2023年3月31日
    00
  • python3教程:*和**的打包和解包的用法

    一. 打包参数 1. * 的作用:在函数定义中,收集所有的位置参数到一个新的元组,并将这个元组赋值给变量args >>> def f(*args): print(args) >>> f() () >>> f(1) (1,) >>> f(1, 2, 3, 4) (1, 2, 3, 4) &…

    Python开发 2023年4月2日
    00
  • python教程:函数的return语句运用

    return语句用于退出函数,向调用方返回一个表达式。 return在不带参数的情况下(或者没有写return语句),默认返回None。 None是一个特殊的值,它的数据类型是NoneType。NoneType是Python的特殊类型,它只有一个取值None。 它不支持任何运算也没有任何内建方法,和任何其他的数据类型比较是否相等时永远返回false,也可以将…

    Python开发 2023年4月2日
    00
  • 10道Python面试题

    1、Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别) 答:赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。 浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数…

    Python开发 2023年4月2日
    00
  • Http和Https的区别?

    1.HTTP是什么? http是超文本传输协议用来在web浏览器和网站服务器之间传递数据信息,http以明文的方式发送内容,不提供任何方式的数据加密,如果攻击者截获了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决http协议的这一缺陷,需要使用另一种协议:安…

    Python开发 2023年4月2日
    00
  • Python中的关键字的用法

    Python有哪些关键字 Python常用的关键字 and, del, from, not, while, as, elif, global, or, with, assert, else, if, pass, yield, break, except, import, print, class, exec, in, raise, contiue, fina…

    Python开发 2023年3月31日
    00
  • python3实现字符串的全排列的方法(无重复字符)两种解决方法

    抛出问题 求任意一个字符串的全排列组合,例如a=’123′,输出 123,132,213,231,312,321。(暂时假定字符串没有重复) 解决方案 目前有两种解决的方法 方法一: def str_sort(s=”): if len(s) <= 1: return [s] str_list = [] for i in range(len(s)): …

    Python开发 2023年3月31日
    00
合作推广
合作推广
分享本页
返回顶部