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模块 相信我们都使 ...
随机推荐
- SpringMVC-02 第一个SpringMVC程序
SpringMVC-02 第一个SpringMVC程序 第一个SpringMVC程序 配置版 新建一个Moudle , springmvc-02-hello,确定依赖导入进去了 1.配置web.xml ...
- 由于makefile编译所有子目录中 sed 's,/($*/)/.o[ :],/1.o $@ : ,g' <$@ > $@ 的解释
这个语句分为好几层,我们一层一层来看 1. sed 's,/($*/)/.o[ :],/1.o $@ : ,g' <$@ > $@ 首先看加粗这一层,$@表示目标参数中的.d文件, '&l ...
- HDU_5414 CRB and String 【字符串】
一.题目 CRB and String 二.分析 对于这题,读懂题意非常重要. 题目的意思是在$s$的基础上,按题目中所描述的步骤,即在$s$中任意选择一个字符$c$,在这个字符后面添加一个不等于$c ...
- golang 实现两数组对应元素相除
func ArrayDivision(arr1 []float64,arr2 []float64) (arr3 []float64) { //两数组对应元素相除 for p:=0;p< len( ...
- 程序一直处于Accept状态,无法调度运行
问题描述:在现场或测试环境偶尔会出现用户提交的程序一直处于Accept状态无法调度运行的现象 问题分析:出现这种问题的原因一般有以下两种: 1.用户程序提交的队列当前是否已达到最大可运行程序数,当达到 ...
- python-socket和进程线程协程(代码展示)
socket # 一.socket # TCP服务端 import socket # 导入socket tcp_sk = socket.socket() # 实例化一个服务器对象 tcp_sk.bin ...
- Linux 软链接link/ln -s
在Linux中,链接分为软的和硬的,至于两者之间有什么差别,大家可以参考下https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-li ...
- Kafka 常见问题汇总
Kafka 常见问题汇总 1. Kafka 如何做到高吞吐.低延迟的呢? 这里提下 Kafka 写数据的大致方式:先写操作系统的页缓存(Page Cache),然后由操作系统自行决定何时刷到磁盘. 因 ...
- 面试题-你听过TCP Fast Open (TFO/TCP快速打开)吗?能解释一下吗?
TCP Fast Open (TFO/TCP快速打开) TCP快速打开(TCP Fast Open,TFO)是什么? TCP快速打开(TCP Fast Open,TFO)是对TCP的一种简化握手手续的 ...
- [树形DP]二叉苹果树
二 叉 苹 果 树 二叉苹果树 二叉苹果树 题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定 ...