Python基本数据类型
本文最后更新于 2024-12-18,文章内容可能已经过时。
基本数据类型
在计算机科学中,一般通过数据来描述问题。
Python中的基本数据分为整数类型(int)、浮点类型(float)、复数类型(complex)、和布尔类型(bool)、其中,整数类型、浮点类型和复数类型的数据分别对应着数学中的整数、小数和复数;布尔类型比较特殊,它是整数类型的子类,只有True和False两种取值。
整数类型
整数类型(int)简称为整型,用于表示整数,如1,10等。在Python中,对整型数据的长度没有限制,只要计算机的内存足够大,用户就无需考虑内存溢出的问题。
整型常用的计数方式有四种,见代码块1-1。
8 # 十进制
0b1000 # 二进制
0o10 # 八进制
0x8 # 十六进制
代码块1-1 整型4种进制
Python中内置了用于转换数据进制的函数:bin()、oct()、int()、和hex()。这些函数的功能见表1-1。
函数名 | 功能描述 |
---|---|
bin() | 将十进制的数字转换成二进制的数字 |
oct() | 将十进制的数字转换成八进制的数字 |
int() | 将其他进制的数字转换成十进制的数字 |
hex() | 将十进制的数字转换成十六进制的数字 |
表1-1 进制转换函数描述
数据进制转换示例见程序段1-1
number = 8 # 十进制数值8
bin_number = 0b1000 # 二进制数值1000
print(bin(number)) # 将十进制数值8转换为二进制
print(oct(number)) # 将十进制数值8转换为八进制
print(int(bin_number)) # 将二进制数值1000转换为十进制
print(hex(number)) # 将 十进制数值8转换为十六进制
# 运行代码,输出结果
0b1000
0o10
8
0x8
程序段1-1 数据进制转换示例
浮点类型
浮点类型(float)用于表示实数,实数是由整数部分、小数点和小数部分组成,Python中浮点类型的数据一般以十进制表示,如3.14、5.0等。
较大或较小的浮点数可以使用科学计数法表示。科学计数法会把一个数表示成α与10的n次幂相乘的形式,见公式。
Python使用字母e或者E代表底数10,件代码块2-1。
-3.14e3 # 即-3140
3.14e-2 # 即0.0314
代码块2-1 科学计数法示例
Python中的浮点类型数据是双精度的,每个浮点型数据占8字节(即64位),且遵守IEEE(电气与电子工程师学会)标准,其中,前52位用于存储尾数,中间11位用于存储阶码,最后1位用于存储符号。
Python中浮点数的取值范围为-1.8e308~1.8e308,若超过这个范围,Python会将值视为无穷大(inf),或者无穷小(-inf),程序段2-1。
print(3.14e400)
print(-3.14e400)
# 运行代码 输出结果
inf
-inf
程序段2-1 超出浮点数取值范围显示方式
复数类型
复数类型(complex)用于表示复数,复数是由实部(real)和虚部(imag)组成,它的一般形式为real+imag*j,其中,j为虚部单位。
通过real和imag属性可以获取复数的实部和虚部,见程序段3-2。
complex_number = 8+10j
print(complex_number.real)
print(complex_number.imag)
# 运行代码 输出结果
8
10
程序段2-2 获取复数类型的real与imag
布尔类型
布尔类型(bool)是一种特殊的整型,其中True对应整数1,False对应整数0。Python中常见的布尔数值为False的数据,见表4-1。
布尔数值 | 数据 |
---|---|
False | None |
False | 任何数字类型的0,如0、0.0、0j |
False | 任何空序列,例如""、()、[] |
False | 空字典,如{} |
表4-1 布尔数值False常见数据
Python中可以使用bool()函数检测数据的布尔值,见程序段4-1。
print(bool(0.0))
print(bool(""))
print(bool(2))
# 运行代码 输出结果
False
False
True
程序段4-1 bool()函数
基本类型转换
Python数据类型转换分为隐式转换和显示转换。隐式转换又称为自动转换,不需要做特殊处理。例如,较低数据类型(整数)可自动转换为较高数据类型(浮点型)。显示转换又称为强制类型转换,通过内置函数实现。Python内置了一系列强制转换数据类型的函数,使用这些函数可将目标数据转换为指定的类型,其中,用于转换数据类型的函数有int()、float()、complex()和bool()。功能说明见表5-1
函数名 | 功能描述 |
---|---|
int(x) |
将 x 转换为整数类型,如果 x 是浮点数,则将其向下取整 |
float(x) |
将 x 转换为浮点类型 |
complex() |
创建一个值为 real + imag*j 的复数,或者将一个字符串或数转换为复数 |
bool(x) |
将 x 转换为布尔类型。如果 x 为 0 或 None,则返回 False;否则返回 True |
表5-1 转换数据类型函数描述
num_int = 123
num_float = 1.23
print(int(num_float))
print(float(num_int))
print(complex(num_int))
# 运行代码 输出结果
1
123.0
123+0j
程序段5-1 转换数据类型函数用法
- 感谢你赐予我前进的力量