python 数字类型 Number

420 阅读4分钟

python 数字类型 Number

Python 数字数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。

创建变量 int

# 整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。布尔(bool)是整型的子类型。

var_num = 100
print(var_num, type(var_num))

# 输出
# 100 <class 'int'>

创建变量 float

# 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示

var_float = 1.999
print(var_float, type(var_float))

# 输出
# 1.999 <class 'float'>

复数( (complex))

# complex( ) 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。
# 如果第一个参数为字符串,则不需要指定第二个参数。

# 参数说明:
# real —— int、long、float 或字符串。
# imag —— int、long、float。

# 返回值:
# 返回一个复数。

var_complex = complex(1, 2)
# print(var_complex, type(var_complex))

# 输出
# (1+2j) <class 'complex'>

# 数字
var_complex_num = complex(1)
# print(var_complex_num, type(var_complex_num))

# 输出
# (1+0j) <class 'complex'>

# 当做字符串处理
var_complex_str = complex('1')
print(var_complex_str, type(var_complex_str))

# 输出
# (1+0j) <class 'complex'>

python 数字类型转换

对数据内置的类型进行转换,数据类型的转换

int(val)

将 val 转化为 整数

var_int = 19.9
# 将小数部分抹除
# print(int(var_int))

# 输出
# 19

# 字符串 整数数字 转 int
# 只能对字符串整数 转换 小数不可以
var_str_num = '1212'
var_str_int = int(var_str_num)
# print(var_str_int, type(var_str_int))

# 输出
# 1212 <class 'int'>

float(val)

将val转换到一个浮点数。

var_int_num2 = 10
var_float = float(var_int_num2)

print(var_float, type(var_float))

# 输出
# 10.0 <class 'float'>

python 数学函数

abs(val)

返回数字的绝对值

var_int_num3 = -999
print(abs(var_int_num3))

# 输出 999

ceil(val)

返回数字的上入整数,如math.ceil(4.1) 返回 5

var_int_num4 = 9.1
print(math.ceil(var_int_num4))

# 输出 10

fabs() 方法返回数字的绝对值,如math.fabs(-10) 返回10.0。

fabs() 函数类似于 abs() 函数,但是他有两点区别:

abs() 是内置函数。 fabs() 函数在 math 模块中定义。

fabs() 函数只对浮点型跟整型数值有效。 abs() 还可以运用在复数中。

var_int_num6 = -10.99
print(math.fabs(var_int_num6))

# 输出 10.99

floor(x)

返回数字的下舍整数,如math.floor(4.9)返回 4

var_int_num7 = 5.8
print(math.floor(var_int_num7))

# 输出 5

max()

方法返回给定参数的最大值,参数可以为序列。

print(max(1, 5, 9))
# 输出 9

min()

方法返回给定参数的最小值,参数可以为序列。

print(min(1, 5, 9))
# 输出 1

round( x [, n] )

x -- 数字表达式。

n -- 表示从小数点位数,其中 x 需要四舍五入,默认值为 0。

方法返回浮点数 x 的四舍五入值,准确的说保留值将保留到离上一位更近的一端(四舍六入)。

精度要求高的,不建议使用该函数。

print("round(70.23456) : ", round(70.23456))
print("round(56.659,1) : ", round(56.659, 1))

# 输出
# round(70.23456) :  70
# round(56.659,1) :  56.7

python 随机函数

choice()

方法返回一个列表,元组或字符串的随机项。

# 从 range(100) 返回一个随机数
print(random.choice(range(100)))

# 从 [1, 8, 41, 53, 16] 返回一个随机元素
print(random.choice([1, 8, 41, 53, 16]))

# 从 python 这个字符串中 返回一个随机字符
print(random.choice('python'))

randrange()

方法返回指定递增基数集合中的一个随机数,基数默认值为1。

random.randrange ([start,] stop [,step])

randrange()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。

参数

start -- 指定范围内的开始值,包含在范围内。

stop -- 指定范围内的结束值,不包含在范围内。

step -- 指定递增基数。

# 从 1-100 中选取一个奇数
print(random.randrange(1, 100, 2))

# 从 0-99 选取一个随机数
print(random.randrange(100))

# 输出
# 93
# 72

random()

方法返回随机生成的一个实数,它在[0,1)范围内。

# 第一个随机数
print(random.random())

# 第二个随机数
print(random.random())

# 输出
# 0.2307590693495355
# 0.06479266044706844

shuffle()

方法将序列的所有元素随机排序。

random.shuffle(lst)

lst -- 列表

返回 None

listNum = [1, 5, 9, 3, 7, 6, 8]
random.shuffle(listNum)
print(listNum)

# 输出
# [6, 5, 9, 8, 1, 3, 7]

uniform()

方法将随机生成下一个实数,它在 [x,y] 范围内。

random.uniform(x, y)

x - - 随机数的最小值,包含该值。

y - - 随机数的最大值,包含该值。

返回一个浮点数 N,取值范围为如果 x<y 则 x <= N <= y,如果 y<x 则y <= N <= x。

print(random.uniform(1, 10))
print(random.uniform(1, 25))

# 输出
# 8.15708051502315
# 18.99480226208546