Python中math和cmath模块的使用
目录
Math模块
- pi 数字常量,圆周率
- e 表示一个常量
- sqrt(x) 求x的平方根
- fabs(x) 返回x的绝对值
- factorial(x) 取x的阶乘的值
- fmod(x,y) 得到x/y的余数,其值是一个浮点数
- pow(x, y) 返回x的y次方,即x**y
- isfinite(x) 如果x是正无穷大或负无穷大,则返回True,否则返回False
- isinf(x) 如果x是正无穷大或负无穷大,则返回True,否则返回False
- hypot(x) 如果x是不是无穷大的数字,则返回True,否则返回False
- isnan(x) 如果x不是数字,则返回True,否则返回False
- ldexp(x) 返回x*(2**i)的值////
- log(x, a) 返回x的自然对数,以a为基数(不写则默认以e为基数),a参数给定时,将x的对数返回给定的a,计算式为:log(x)/log(a
- log10(x) 返回x的以10为底的对数
- log1p(x) 返回x+1的自然对数(基数为e)的值
- log2(x) 返回x的基2对数
- modf(x) 返回由x的小数部分和整数部分组成的元组
- trunc(x) 返回x的整数部分
- ceil(x) 取大于等于x的最小的整数值,如果x是一个整数,则返回x
- floor(x) 取小于等于x的最大的整数值,如果x是一个整数,则返回自身
- radians(x) 把角度x转换成弧度,与degrees 为反函数
- degrees(x) 把x从弧度转换成角度
- sin(x) 求x(x为弧度)的正弦值
- sinh(x) 求x(x为弧度)的双曲正弦值
- cos(x) 求x的余弦,x必须是弧度
- tan(x) 返回x(x为弧度)的正切值
- tanh(x) 返回x(x为弧度)的双曲正切值
- copysign(x, y)把y的正负号加到x前面,可以使用0
- exp(x) 返回math.e,也就是2.71828的x次方
- expm1(x) 返回math.e的x(其值为2.71828)次方的值减1
- frexp(x) 返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围
- fsum(x) 对迭代器里的每个元素进行求和操作
- gcd(x,y) 返回x和y的最大公约数
import math
print(math.pi)
print(math.e)
print(math.sqrt(100))
print(math.fabs(-5.5))
print(math.factorial(5))
print(math.pow(10,2))
print(math.fmod(5,2)
###############################
3.141592653589793
2.718281828459045
10.0
5.5
120
100.0
1.0
Cmath模块
对于复数,Python 支持它的加减乘除运算,同时提供了 cmath 模块对其他复杂运算进行支持。cmath 模块和 Python 中的 math 模块对应, math提供对于实数的支持, 在这里主要讨论 cmath 模块中的几个函数的用法。
1)极坐标和笛卡尔坐标表示的转换
C==c.real+c.imag*j 的复数表示方法为复数的笛卡尔表示法, cmath 模块中的 polar() 方法和 rect() 方法可以对复数进行极坐标表示和笛卡尔表示方法的转换。 例:
>>> import cmath
>>> Z=1+2j
>>> print cmath.polar(Z)
(2.23606797749979, 1.1071487177940904)
>>> a,b=cmath.polar(Z)
>>> print cmath.rect(a,b)
(1+2j)
polar 函数对一个输入的笛卡尔形势的复数进行计算,输出为一个二元组,第一个值为Z的模值, 第二个为幅度值。 rect() 函数对输入的模和幅度值进行计算输出笛卡尔表示。
如果需要单独对一个复数进行幅度值的求解,可以调用 cmath.phrase(x) 函数,返回幅度值。
2)复数的幂指数与对数函数
复数的指数函数为 cmath.exp(x), 用来求解 e^x 表达式。
cmath.log(x[,base]) 用来求以 Base 为底的 x 的对数。
cmath.log10(x) 用来求以 10 为底 x 的对数
cmath.sqrt(x) 用来求 x 的平方根。
3)复数的三角函数方程
包括所有的三角函数计算 acos(x) asin(x) atan(x) sin(x) cos(x) tan(x)。
4)参数类判断
cmath.isinf(x) 如果x的实部或者虚部为无穷大,则返回true。
cmath.isnan(x)如果x的实部或者虚步不是数字则返回true。
5)常量支持
cmat.pi 浮点值, 表示圆周率的大小
cmat.e 浮点值, 表示自然对数的底
Python中math和cmath模块的使用的更多相关文章
- Python中os和shutil模块实用方法集…
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- Python中os和shutil模块实用方法集锦
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- python中根据字符串导入模块module
python中根据字符串导入模块module 需要导入importlib,使用其中的import_module方法 import importlib modname = 'datetime' date ...
- python中的第三方日志模块logging
基本上每个系统都有自己的日志系统,可以使自己写的,也可以是第三方的.下面来简单介绍一下python中第三方的日志模块,入手还是比较简单的,但是也很容易给自己埋雷. 下面是我参考的资料链接 入手demo ...
- Python中xlrd和xlwt模块使用方法 (python对excel文件的操作)
本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 安装xlrd和xlwt模块 xlrd和xlwt模块不是 ...
- python中math常用函数
python中math的使用 import math #先导入math包 1 三角函数 print math.pi #打印pi的值 3.14159265359 print math.radians(1 ...
- python中time、datetime模块的使用
目录 python中time.datetime模块的使用 1.前言 2.time模块 1.时间格式转换图 2.常用方法 3.datetime模块 python中time.datetime模块的使用 1 ...
- python中的logging日志模块
日志是程序不可或缺的一部分.它可以记录程序的运行情况,帮助我们更便捷地发现问题,而python中的logging日志模块给我们提供了这个机会. logging给我们提供了五种函数用来输出日志:debu ...
- Python中好用的模块们
目录 Python中好用的模块们 datetime模块 subprocess模块 matplotlib折线图 importlib模块 Python中好用的模块们 datetime模块 相信我们都使 ...
随机推荐
- C++高精度计算(大整数类)
Java和Pathon可以不用往下看了 C++的基本数据类型中,范围最大的数据类型不同编译器不同,但是最大的整数范围只有[-2^63-2^63-1](对应8个字节所对应的二进制数大小).但是对于某些需 ...
- BZOJ_2115 [Wc2011] Xor 【图上线性基】
一.题目 [Wc2011] Xor 二.分析 比较有意思的一题,这里也学到一个结论:$1$到$N$的任意一条路径异或和,可以是一个任意一条$1$到$N$的异或和与图中一些环的异或和组合得到.因为一个数 ...
- BZOJ_2243 [SDOI2011]染色 【树链剖分+线段树】
一 题目 [SDOI2011]染色 二 分析 感觉树链剖分的这些题真的蛮考验码力的,自己的码力还是不够啊!o(╯□╰)o 还是比较常规的树链剖分,但是一定记得这里的线段树在查询的时候一定要考虑链于链相 ...
- Python中树的遍历-堆排序
1.二叉树的遍历 遍历:迭代所有元素一遍. 树的遍历:对树中所有的元素不重复的访问一遍,也成扫描 广度优先遍历:层序遍历 深度优先遍历:前序.中序.后续遍历. 遍历序列:将树中所有元素遍历一遍后,得到 ...
- 输出质数(Java)
输出质数 一.什么是质数 质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数,否则称为合数(规定1既不是质数也不是合数). 二.代码实现 1.输出100以内的质数 i ...
- 周期串(JAVA语言)
package 第三章习题; /* * 如果一个字符可以由某个长度为k的字符串重复多次得到,则称该串以k为周期. * 例如:abcabcabcabc 以3为周期(注意:它也以6和12为周期) * ...
- Java例题_20 前20项之和!
1 /*20 [程序 20 求前 20 项之和] 2 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前 20 项之和. 3 程序分析:请抓住分子与分母的变 ...
- teprunner测试平台Django引入pytest完整源码
本文开发内容 pytest登场!本文将在Django中引入pytest,原理是先执行tep startproject命令创建pytest项目文件,然后从数据库中拉取代码写入文件,最后调用pytest命 ...
- java 基础知识储备
初始JAVA JAVA 帝国的诞生 1972年C诞生 贴近硬件,运行极快,效率极高. 操作系统,编译器,数据库,网络系统等 指针和内存管理 1982年C++诞生 面向对象 兼容C 图形领域.游戏等 纵 ...
- 前端 | JS 任务和微任务:promise 的回调和 setTimeout 的回调到底谁先执行?
首先提一个小问题:运行下面这段 JS 代码后控制台的输出是什么? console.log("script start"); setTimeout(function () { con ...