在Python中,所有的数据类型都是类,每一个变量都是类的实例。
Python中有6种标准数据类型:数字(Number)、字符串(String)、列表(List)、元组(Tuple)、集合(Sets)和字典(Dictionary)。
1.数字类型
Python中数字类型:整数类型、浮点类型和复数类型。
1.1 整数类型(int)
Python整数类型为int,整数类型的范围可以很大,可以表示很大的整数,只受所在计算机硬件的限制。
Python 3 不再区分整数和长整数,所有需要的整数都可以是长整数。
默认情况下,一个整数值表示十进制数。其它进制的表示方式:
◊ 二进制数:以0b或0B为前缀。(注:0为阿拉伯数字)
◊ 八进制数:以0o或0O为前缀。(注:第一个字符是阿拉伯数字0,第二个字符是英文字母o或O)
◊ 十六进制数:以0x或0X为前缀。(注:0为阿拉伯数字)
>>> 28
28
>>> 0b11100
28
>>> 0o34
28
>>> 0x1C
28
1.2 浮点类型(float)
浮点类型用来存储小数数值,Python中浮点类型为float,Python只支持双精度的浮点类型,且与本机有关。
浮点类型可以使用小数表示,也可以使用科学计数法表示。科学计数法中使用大写或小写的e表示10的指数,如e2表示102。
>>> 1.0
1.0
>>> 3.6e2
360.0
>>> 3.6e-2
0.036
1.3 复数类型
复数由实数部分和虚数部分构成,可以使用 a + bj 或 complex(a, b) 表示,复数的实部a和虚部b都是浮点类型。
Python中复数类型为complex。
>>> 1 + 2j
(1+2j)
>>> complex(1,2)
(1+2j)
>>> complex(1,2) + complex(1,2)
(2+4j)
1.4 布尔类型
Python中布尔类型为bool,bool是int的子类。bool类型只有两个值:True和False。
任何类型数据都可以通过bool()函数转换为布尔值,“没有的”或“空的”值会转换为False,反之转换为True。如:None(空对象)、False、0、0.0、0j(复数)、''(空字符串)、[](空列表)、()(空元组)和 {}(空字典)这些值会转换为False,否则是True。
>>> bool(0)
False
>>> bool(1)
True
>>> bool('')
False
>>> bool(' ')
True
>>> bool(None)
False
>>> bool([])
False
>>> bool({})
False
2.数据类型转换
Python数据类型转换包括隐式类型转换和显式类型转换。
2.1 隐式类型转换
隐式类型转换规则:
操作数1类型 | 操作数2类型 | 转换后的类型 |
布尔 | 整数 | 整数 |
布尔、整数 | 浮点 | 浮点 |
>>> a = 1 + True
>>> a
2
>>> type(a)
<class 'int'>
>>> a = 1.0 + 1
>>> a
2.0
>>> type(a)
<class 'float'>
>>> a = 1.0 + True
>>> a
2.0
>>> type(a)
<class 'float'>
>>> a = 1.0 + 1 + True
>>> a
3.0
>>> type(a)
<class 'float'>
2.2 显式类型转换
显式类型转换函数:
(1)int(x):将x转换为一个整数。可以将布尔、浮点转换为整数。
布尔值:True转换为1,False转换为0;
浮点数值:转换后截掉小数部分。
>>> int(True)
1
>>> int(False)
0
>>> int(12.6)
12
(2)float(x):转换为一个浮点数。可以将布尔值、整数转换为浮点。
布尔值:True转换为1.0,False转换为0.0;
整数值:转换后加上小数部分“.0”。
>>> float(True)
1.0
>>> float(False)
0.0
>>> float(1)
1.0
(3)complex(x):将x转换为一个复数,实数部分为x,虚数部分为0。
>>> complex(1)
(1+0j)
complex(x, y):将x和y转换为一个复数,实数部分为x,虚数部分为y。
>>> complex(1, 2)
(1+2j)