python中的常用数据类型:整型(int),浮点型(float),布尔型(bool),复数型(complex), 字符串(str), 列表(list), 元组(tuple),字典(dict),集合(set)
python数据类型之整型(int)
在python中整形用来表示整数,包括负整数和正整数和0,没有小数部分,而数据的表现类型有二进制,八进制,十进制,十六进制。
# 十进制整数 int_decimalism = 8 print("int_decimalism的数据类型是:", type(int_decimalism)) # int_decimalism的数据类型是: <class 'int'> # 二进制整数 int_binary = 0b1001 print("int_binary的数据类型是:", type(int_binary)) # int_binary的数据类型是: <class 'int'> # 八进制整数 int_octal = 0o472 print("int_octal的数据类型是:", type(int_octal)) # int_octal的数据类型是: <class 'int'> # 十六进制整数 int_hexadecimal = 0x12a3c print("int_hexadecimal的数据类型是:", type(int_hexadecimal)) # int_hexadecimal的数据类型是: <class 'int'>
整数类型理论取值是负无穷到正无穷,但是实际取值范围受限于计算机的内存
32位的操作系统:-2**31~ 2**31-1
64位的操作系统:-2**63~ 2**63-1
python中常见的数据类型之浮点型(float)
浮点数包括正浮点数和浮点数,浮点型表现的形式有:十进制形式,科学计数形式。只有浮点型才可以使用科学计数形式,比如十进制形式浮点数314,用科学计数形式表示为3.14e2
# 浮点数之十进制表现形式 f1 = 3.14 print("f1的数据类型是:", type(f1)) # f1的数据类型是: <class 'float'> # 浮点数之科学计数形式 f2 = 3.14e2 print("f2的数据类型是:", type(f2)) # f2的数据类型是: <class 'float'> # 负浮点数 f3 = -3.14 print("f3的数据类型是:",type(f3)) # f3的数据类型是: <class 'float'> # 负浮点数的科学计数形式 f4 = -3.14e2 print("f4的数据类型是:",type(f4)) # f4的数据类型是: <class 'float'> # 浮点数的表现形式还有只带一个小数 f5 = 3. print("f5的数据类型是:", type(f5)) # f5的数据类型是: <class 'float'>
浮点数并不像整型一样,浮点数计算的结果并不是精确的
f6 = 3.1415 f7 = 5.1413 print("f6和f7的乘积是:", f6 * f7) # f6和f7的乘积是: 16.151393950000003 # 如果要对浮点数进行精确运算,需要导入decimal模块 import decimal print("两个浮点数相乘的结果:", decimal.Decimal("3.1415") * decimal.Decimal("5.1413")) # 两个浮点数相乘的结果: 16.15139395
一般计算机精确的数位为小数点后15位,如果想要再精确到后面的数位
# 如果要对浮点数进行精确运算,需要导入decimal模块 import decimal # 指定精确位数 decimal.getcontext().prec = 20 print("两个浮点数相乘的结果:", decimal.Decimal("3.14159264543") * decimal.Decimal("5.1413564773")) # 两个浮点数相乘的结果: 16.152047696619572744
python的常用数据类型之布尔类型
布尔类型就是用来判断数据或者表达式的真假,布尔类型只有True和False,而且我们可以把True当成整数1,False当成整数0
a = 1 print("False加上a的值是:", False+a ) # False加上a的值是: 1 print("True加上a的值是:", True+a ) # True加上a的值是: 2
一切代表空的数据类型的布尔值为False
print("0的布尔值是:", bool(0)) print("{}的布尔值是:", bool({})) print("()的布尔值是:", bool(())) print("[]的布尔值是:", bool([])) print("None的布尔值是:", bool(None)) # {}的布尔值是: False # ()的布尔值是: False # []的布尔值是: False # None的布尔值是: False
当一个表达的判断结果是正确的时候,它的布尔值是True,当一个表达式的判断结果是错的,它的布尔值是False,比如
a = 1 b = 2 print("a > b 的布尔值是:", bool(a > b)) print("a < b 的布尔值是:", bool(a < b)) # a > b 的布尔值是: False # a < b 的布尔值是: True
python中常用数据类型之复数
复数是由实部和虚部组成的,复数的表达式为:real + imag*1j
C = 1 + 5j print("C的数据类型是:", type(C)) # C的数据类型是: <class 'complex'>
复数的实部和虚部的数值都是浮点型
C = 1 + 5j print("C的数据类型是:", type(C)) # C的数据类型是: <class 'complex'> print("C的实部:", C.real) # C的实部: 1.0 print("C的虚部:", C.imag) # C的虚部: 5.0
几种数据类型的相互转换
转换为整形
a = 1 b = 3.14 c = "2" e = int(b) f = int(c) g = int() print("e的数据类型是:", type(e), "="*5, "e的值为:", e) print("f的数据类型是:", type(f), "="*5, "f的值为:", f) print("g的数据类型是:", type(g), "="*5, "g的值为:", g) # e的数据类型是: <class 'int'> ===== e的值为: 3 # f的数据类型是: <class 'int'> ===== f的值为: 2 # g的数据类型是: <class 'int'> ===== g的值为: 0
转换为浮点型
a = 1 b = 3.14 c = "2" e = float(a) f = float(c) g = float() print("d的数据类型是:", type(e), "="*5, "e的值为:", e) print("f的数据类型是:", type(f), "="*5, "f的值为:", f) print("e的数据类型是:", type(g), "="*5, "g的值为:", g) # d的数据类型是: <class 'float'> ===== e的值为: 1.0 # f的数据类型是: <class 'float'> ===== f的值为: 2.0 # e的数据类型是: <class 'float'> ===== g的值为: 0.0
转换为复数类型
a = 1
b = 3.14
c = "2"
h = complex(a, b)
i = complex(b, a)
j = complex(c)
print("h的数据类型是:", type(h), "="*5, h)
print("i的数据类型是:", type(i), "="*5, i)
print("j的数据类型是:", type(j), "="*5, j)
# h的数据类型是: <class 'complex'> ===== (1+3.14j)
# i的数据类型是: <class 'complex'> ===== (3.14+1j)
# j的数据类型是: <class 'complex'> ===== (2+0j)