03.数值
数字类型
概述
数字数据类型是用来存储数值
数字数据的类型不允许被改变,如果改变类型的值,将会重新分配内存空间
整型类型
通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用。
注意:Python3 没有 Python2 的 Long 类型
可以用八进制(0o|0O)和十六进制(0x|0X)来表示整数
>>> 0xaf
175
>>> 0o31
25
浮点数类型
浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 =2.5x 102= 250)
复数类型
复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
数字类型转换
**int(x)**将x转换为一个整数。
**float(x)**将x转换到一个浮点数。
**complex(x)**将x转换到一个复数,实数部分为 x,虚数部分为 0。
**complex(x, y)**将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
实例:
>>> a = 1.0
>>> int(a)
1
数字运算
在python中,可以把python解释器看作为一个简单的计算机
实例:
>>> 1+1
2
>>> 1-1
0
>>> 1/1
1.0
>>> 1*2
2
>>> (1+2)/2*5+3
10.5
math 模块
数学函数
现在看下数学函数的用法
abs(x)
返回数字的绝对值,如abs(-10) 返回 10,注意这个是内置函数,不需要使用math模块
ceil(x)
返回数字的上入整数,如math.ceil(4.1) 返回 5
copysign(x,y)
返回一个浮点数,其大小(绝对值)为x,但符号为y,如math.copysign(2.0,-3.0) 返回 -2.0
cmp(x, y)
如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。Python 3 已废弃。使用**使用 (x>y)-(x<y)**替换。
exp(x)
返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x)
返回数字的绝对值,如math.fabs(-10) 返回10.0
factorial(x)
返回x的阶乘。如果x不是整数或者为负,则引发ValueError
floor(x)
返回数字的下舍整数,如math.floor(4.9)返回 4
fmod(x,y)
返回浮点数之间模运算,比如math.fmod(2.0,3.0) 返回2.0
fsum([x1,x2...])
返回迭代中的精确浮点值,比如math.fsum([.1,.2,.3])返回值为0.6,如果使用sum()计算,返回值为0.6000000000000001
gcd(a,b)
返回a和b之间的最大公约数,比如math.gcd(36,54),返回值为18
isfinite(x)
如果x既不是无穷大也不是Nan,则返回
isinf(x)
如果x是正或负无穷大,则返回True,否者返回False
isnan(x)
如果x是NaN(不是数字),则返回True,否则返回False
ldexp(x,i)
返回x*(2**(i+1)),是函数frexp()的反函数,比如math.ldexp(4,3) 返回值为32
log(x)
如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log2(x)
返回以2为底的对数
log1p(x)
返回以1+x为基数的x的对数
log10(x)
返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...)
返回给定参数的最大值,参数可以为序列。
min(x1, x2,...)
返回给定参数的最小值,参数可以为序列。
modf(x)
返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y)
x**y 运算后的值。
round(x [,n])
返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x)
返回数字x的平方根。
trunc(x)
返回实数的整数部分
特殊功能
erf(x)
返回标准正太分布值
erfc(x)
返回1.0-erf(x)
gamma(x)
在x处返回Gamma函数
lgamma(x)
在返回Gamma函数的绝对值的自然对数x
三角函数
acos(x)
返回x的反余弦弧度值。
asin(x)
返回x的反正弦弧度值。
atan(x)
返回x的反正切弧度值。
atan2(y, x)
返回给定的 X 及 Y 坐标值的反正切值。
cos(x)
返回x的弧度的余弦值。
hypot(x, y)
返回欧几里德范数 sqrt(xx + yy)。
sin(x)
返回的x弧度的正弦值。
tan(x)
返回x弧度的正切值。
双曲函数
acosh(x)
返回x的反双曲余弦值
asinh(x)
返回x的反双曲正弦值
atanh(x)
返回x的反双曲正切
cosh(x)
返回x的双曲余弦值
sinh(x)
返回x的双曲正弦值
tanh(x)
返回x的双曲正切
数学常量
pi
数学常量 pi(圆周率,一般以π来表示)
e
数学常量 e,e即自然常数(自然常数)。
tau
数学常数τ = 6.283185 ......,可达到精度。头是一个圆常数等于2 π,一个圆的周长与其半径的比率
inf
浮点正无穷大。(对于负无穷大,请使用 -math.inf。)相当于输出float('inf')。
nan
浮点“非数字”(NaN)值。相当于。的输出 float('nan')
角度转换
degrees(x)
将角度x从弧度转换为度数,比如math.degrees(1)返回值为57.29577951308232
radians(x)
将角度x从度数转换为弧度
random 模块
random模块为各种分布实现伪随机数生成器
random.randrange(stop)
从0-end(但不包括end)的序列中随机抽取一个数
random.randrange(start,stop[,step] )
从中返回随机选择的元素。这相当于,但实际上并不构建范围对象。range(start, stop, step),choice(range(start, stop, step))
random.randint(a,b )
返回一个随机整数N,范围为a<=x<=b
random.getrandbits(k)
序列函数
random.choice(seq)
从非空序列seq返回一个随机元素。如果seq为空,则报IndexError
random.shuffle(x[, random])
打乱序列中元素的顺序,比如:a=[1,2,3,4,],然后使用random.shuffle(a),这样就可以将a序列打乱了
random.sample(population, k)
随机从population序列中提取k个不同元素的样本
分布函数
random.random()
random.uniform(a,b )
返回随机浮点数N,a <= N <= b
random.triangular(低,高,模式)
返回一个随机浮点数N,以便在这些边界之间使用指定的模式。该低和高界默认的0和1。所述模式参数默认为边界之间的中点,给人一种对称分布。low <= N <= high
random.betavariate(alpha,beta )
Beta分布。参数的条件是和 。返回值的范围介于0和1之间。alpha > 0beta > 0
random.expovariate(lambd )
指数分布。 lambd是1.0除以所需的平均值。它应该是非零的。(该参数将被称为“拉姆达”,但是这是在Python保留字。)返回值的范围从0到正无穷大如果lambd为正,且从负无穷大到0,如果lambd为负
random.gammavariate(alpha,beta)
Gamma分布,参数的条件是和。alpha > 0beta > 0
random.gauss(mu, sigma)
高斯分布。 mu是平均值,sigma是标准偏差。比normalvariate()函数稍快
random.lognormvariate(mu, sigma)
记录正态分布
random.normalvariate(mu, sigma)
正态分布。 mu是平均值,sigma是标准偏差
random.vonmisesvariate(mu, kappa)
mu是平均角度,以弧度表示,介于0和2 * pi之间,kappa 是浓度参数,必须大于或等于零。如果 kappa等于零,则该分布在0到2 * pi的范围内减小到均匀的随机角度
random.paretovariate(alpha)
帕累托分布。 alpha是形状参数
random.weibullvariate(alpha, beta)
威布尔分布。 alpha是scale参数,beta是shape参数。
>>> random() # Random float: 0.0 <= x < 1.0
0.37444887175646646
>>> uniform(2.5, 10.0) # Random float: 2.5 <= x < 10.0
3.1800146073117523
>>> expovariate(1 / 5) # Interval between arrivals averaging 5 seconds
5.148957571865031
>>> randrange(10) # Integer from 0 to 9 inclusive
7
>>> randrange(0, 101, 2) # Even integer from 0 to 100 inclusive
26
>>> choice(['win', 'lose', 'draw']) # Single random element from a sequence
'draw'
>>> deck = 'ace two three four'.split()
>>> shuffle(deck) # Shuffle a list
>>> deck
['four', 'two', 'ace', 'three']
>>> sample([10, 20, 30, 40, 50], k=4) # Four samples without replacement
[40, 10, 50, 30]
布尔值
Python3 布尔类型(bool)是一种内置数据类型,具有两个值:True和False,相当于1和0
数字类型
除0以外的任意值
0
字符串类型
除空字符串("")以外的任意字符串
空字符串("")
>>> bool("")
False
>>> bool(0)
False
>>> bool(1)
True
>>> bool("1")
True
>>> a = 0
>>> if a:
... print("为真")
... else:
... print("为假")
...
为假
空值
在这里提下空值
在python中None表示一个特殊的空值,但是需要注意,None不能理解为0,而只是一个空对象,还需要注意一下,NULL(空字符)也不是None
最后更新于
这有帮助吗?