在Python中,数据采用的是对象的形式,无论是Python所提供的内置对象,还是使用Python的工具和像C语言这样的其他语言所创建的对象。

Python的数字类型是相当典型的,它其实并不是一个真正的类型对象,而是一组类似对象的分类。Python不仅支持常规的数字类型(整形和浮点型),而且可以通过常亮去直接创建数字以及处理数字的表达式。

Python的数字类型一般包括:整数和浮点数、复数、固定精度的十进制数、集合、布尔值、无穷的整数精度、数字类型的内置函数和模块。

 

1.数字常量

在Python的基本数字类型中,拥有整数(正、负)、浮点数、还允许我们使用二进制、八进制和十进制常量来表示整数、复数以及允许整数拥有无穷的精度。

数字

常亮

12、-12、0、0.888888888888…..

整数(无穷大小)

2.12、2.、4.444e-10

浮点数

0o133、0x2d、0b1010101

八进制、十六进制、二进制

3+4j

复数

 

2.变量和基本的表达式

在Python中:

  • 变量在它第一次赋值时被创建
  • 变量在表达式中使用时被替换为它们的值
  • 变量在表达式中使用时必须被赋值
  • 变量和对象一样不需要在一开始进行声明

这些特点总体的意思是说变量不需要预先声明,但是用之前必须要赋值。示例如下:



a = 3
b = 4
print(a + 1, b - 1)
结果:4   3

print(a * 3, b / 2)
结果:9   2.0

print(a % 2, b ** 2)
结果:1   16

print(a + 5.5, 2.4 ** b)
结果:8.5   33.1776



 

3. 数字的比较

 



print(1 < 2)
结果:True

print(1 < 2.0)
结果:True

print(1 < 2 < 3)
结果:True

print(2 > 1 and 2 < 3)
结果:True



 

 

4. 数字的除法

4.1  传统除法和真除法

在Python2.6以前的版本中,除法操作对于整数会隐去小数部分,对于浮点数会保留小数部分。但是在Python3.0中变成了真除法(都会保留小数部分)



print('真除法:',1 / 2)
真除法: 0.5

print('真除法:',1 / 3.0)
真除法: 0.3333333333333333



 

4.2 Floor除法

会忽略掉小数部分,只保留整数部分。



print('floor除法',10 // 4)
floor除法:2

print('floor除法',10 // 4.0)
floor除法:2.0

print('floor除法',10 // -4.0)
floor除法:-3.0



 

5. 复数

在Python中,复数是个不同的核心对象类型。复数表示两个浮点数(实部和虚部)并且在虚部增加了j或者J的后缀。



print(1j + 2J)
结果:3j

print(1 + 2j * 4)
结果:(1+8j)



 

6. 进制

 



a = 22
print('转化为8进制:',oct(a))
#转化为8进制: 0o26

print('转化为16进制:',hex(a))
#转化为16进制: 0x16

print('转化为2进制:',bin(a))
#转化为2进制: 0b10110



b = '22'
print('8转化10进制:',int(b,8))
#8转化10进制: 18 

print('16转化10进制:',int('40',16))
#16转化10进制: 64 

print('2转化10进制:',int('11000',2))
#2转化10进制: 24



 

 

 

 

7. 内置的数字相关函数



print('几次方:',pow(2,3))
#几次方: 8

print('绝对值:',abs(-8))
#绝对值: 8

print('计算和:',sum((1,2,3,4,5,5,6)))
#计算和: 26

print('最大值:',max(1,2,3,4))
#最大值: 4

print('最小值:',min(1,2,3,4))
#最小值: 1

print('将数字转化为字符串:',type(str(33)))
#将数字转化为字符串: <class 'str'>





import random
print('生成随机数:',random.random())
#生成随机数: 0.6469830797468936

print('生成指定范围的整数:',random.randint(1,5))
#生成指定范围的整数: 5

print('从序列(list,tuple,str)中获取一个随机的元素:',random.choice([1,2,3,4,5,6]))
#从序列(list,tuple,str)中获取一个随机的元素: 2



 

 

 

8.布尔类型

真值:True,假值:False

 

9.练习

(1)Python表达式2 * (3 + 4)的值是多少?

答:最后的结果是14,是2 * 7的结果。

(2)Python表达式2 * 3 + 4的值是多少?

答:最后的结果是10,是6 + 4的结果。

(3)求一个数字的平方根和平方?

平方根:math.sqrt(num)

平方:a ** 2,pow(a,2)

(4)表达式1 + 2.0对的结果是什么类型的数字?

答:浮点数类型。浮点数类型比整数类型复杂,会按照复杂的浮点数类型进行计算。

(5)怎样截断或者舍去浮点数的小数部分?

答:int(a)和math.trunc(a)函数省略小数部分,round(num,dight)做四舍五入。

(6)怎样将一个整数转化为浮点数?

答:float(a)将一个整数转化为浮点数

(7)如何将8进制、16进制、2进制的数转化为正常的整数。

答:int(num,dihgt),dight表示的是多少进制的数。