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

数据类型
满足true的值
满足false的值

数字类型

除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

最后更新于

这有帮助吗?