Python简单数据类型介绍
1. 整数类型(int)
整数就是没有小数部分的数字,Python中的整数包括正整数、0 和负整数。
有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,开发者要根据实际数字的大小选用不同的类型。
例如C语言提供short、int、long、long long 四种类型的整数,它们的长度依次递增,初学者在选择整数类型时往往比较迷惑,有时候还会导致数值溢出。
而 Python 则不同,它的整数不分类型,或者说它只有一种类型的整数。
Python整数的取值范围是无限的,不管多大或者多小的数字,Python都能轻松处理。当所用数值超过计算机自身的计算能力时,Python会自动转用高精度计算(大数计算)。
整数的不同进制
在 Python 中,可以使用多种进制来表示整数:
- 十进制形式
我们平时常见的整数就是十进制形式,它由 0~9 共十个数字排列组合而成。注意,使用十进制形式的整数不能以 0 作为开头,除非这个数值本身就是 0。 - 二进制形式
由 0 和 1 两个数字组成,书写时以0b或0B开头。例如,101 对应十进制数是 5。 - 八进制形式
八进制整数由 0~7共八个数字组成,以0o或0O开头。注意,第一个符号是数字 0,第二个符号是大写或小写的字母 O。 - 十六进制形式
由 0~9 十个数字以及 A~F(或 a~f)六个字母组成,书写时以0x或0X开头。
# 十六进制
hex1 = 0x45
hex2 = 0x4Af
print("hex1Value: ", hex1) # hex1Value: 69
print("hex2Value: ", hex2) # hex2Value: 1199
# 二进制
bin1 = 0b101
print('bin1Value: ', bin1) # bin1Value: 5
bin2 = 0B110
print('bin2Value: ', bin2) # bin2Value: 6
# 八进制
oct1 = 0o26
print('oct1Value: ', oct1) # oct1Value: 22
oct2 = 0O41
print('oct2Value: ', oct2) # oct2Value: 33
数学分隔符
为了提高数字的的可读性,Python 3.x 允许使用下划线_作为数字(包括整数和小数)的分隔符。通常每隔三个数字添加一个下划线,类似于英文数字中的逗号。下划线不会影响数字本身的值。
实例:
click = 1_301_547
distance = 384_000_000
print("Python教程阅读量:", click)
print("地球和月球的距离:", distance)
运行结果:
Python教程阅读量:1301547
地球和月球的距离:384000000
2. 小数/浮点数类型(float)
在编程语言中,小数通常以浮点数的形式存储。
浮点数和定点数是相对的:小数在存储过程中如果小数点发生移动,就称为浮点数;如果小数点不动,就称为定点数。
Python 中的小数有两种书写形式:
- 十进制形式
这种就是我们平时看到的小数形式,例如 34.6、346.0、0.346。
书写小数时必须包含一个小数点,否则会被 Python 当作整数处理。 - 指数形式
Python小数的指数形式的写法为:aEn 或 aen。
- a 为尾数部分,是一个十进制数;
- n 为指数部分,是一个十进制整数;
- E或e是固定的字符,用于分割尾数部分和指数部分。
- 整个表达式等价于 a×10n。
指数形式的小数举例:
- 2.1E5 = 2.1×105,其中 2.1 是尾数,5 是指数。
- 3.7E-2 = 3.7×10-2,其中 3.7 是尾数,-2 是指数。
- 0.5E7 = 0.5×107,其中 0.5 是尾数,7 是指数。
注意,只要写成指数形式就是小数,即使它的最终值看起来像一个整数。例如 14E3 等价于 14000,但 14E3 是一个小数。
3. 布尔类型(bool)
Python 提供了 bool 类型来表示真(对)或假(错)。
比如常见的5 > 3 比较算式,这个是正确的,在程序世界里称之为真(对)。Python 使用 True 来代表。
再比如4 > 20比较算式,这个是错误的,在程序世界里称之为假(错),Python 使用 False 来代表。
True 和 False 是 Python 中的关键字,当作为 Python 代码输入时,一定要注意字母的大小写,否则解释器会报错。
值得一提的是,布尔类型可以当做整数来对待,即 True 相当于整数值 1,False 相当于整数值 0。
因此,下边这些运算都是可以的:
>>> False+1
1
>>> True+1
2
注意,这里只是为了说明 True 和 Flase 对应的整形值,在实际应用中是不妥的,不要这么用。
总的来说,bool 类型就是用于代表某个事情的真(对)或假(错)。
如果这个事情是正确的,用 True(或 1)代表;如果这个事情是错误的,用 False(或 0)代表。
>>> 5>3
True
>>> 4>20
False
在 Python 中,所有的对象都可以进行真假值的测试,包括字符串、元组、列表、字典、对象等,后续会做详细的介绍。
4. 复数类型(complex)
复数(Complex)是 Python 的内置类型,直接书写即可。
换句话说,Python 语言本身就支持复数,而不依赖于标准库或者第三方库。
复数由实部(real)和虚部(imag)构成,在 Python 中,复数的虚部以j或者J作为后缀,具体格式为:
a + bj
# a 表示实部,b 表示虚部。
Python 复数的使用:
c1 = 12 + 0.2j
print("c1Value: ", c1)
print("c1Type", type(c1))
c2 = 6 - 1.2j
print("c2Value: ", c2)
#对复数进行简单计算
print("c1+c2: ", c1+c2)
print("c1*c2: ", c1*c2)
运行结果:
c1Value: (12+0.2j)
c1Type <class 'complex'>
c2Value: (6-1.2j)
c1+c2: (18-1j)
c1*c2: (72.24-13.2j)
可以发现,复数在 Python 内部的类型是 complex,Python 默认支持对复数的简单计算。