python数值类型分为整型、浮点型和复数型,布尔型数据是整型的一种。
目录
- 整型(含布尔型)
- 浮点型
- 复数型
- 运算
- 数据类型转化
整型(含布尔型)
整型数据没有精度限制,当把一个整数赋值给变量时,就得到了整型数据。
i = 123
type(i) # <class 'int'>
- 1
- 2
type()
方法可以查看变量的类型。
布尔类型是数据只有两种:True
和False
。
浮点型
浮点型数据是由C语言中的double
类型实现,它的精度由机器决定,可以通过sys.float_info
查看。
import sys
print(sys.float_info)
''' 输出信息
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
'''
- 1
- 2
- 3
- 4
- 5
- 6
当把一个带有小数点的数或者指数表示的数赋值给变量时,就得到了浮点型的数据。
f1 = 123.456
type(f1) # <class 'float'>
f2 = 1.123456e3
type(f2) # # <class 'float'>
- 1
- 2
- 3
- 4
复数型
复数分为实部和虚部,虚部的数后加j
或J
表示。通过real
和imag
属性可以获得复数的实部和虚部。conjugate()
方法可以获得共轭复数。
c = 1 + 2j
type(c) # <class 'complex'>
c.real # 1.0
c.imag # 2.0
c.conjugate() # (1-2j)
- 1
- 2
- 3
- 4
- 5
运算
数值类型具有+
、-
、*
、/
、//
、%
、**
、pow()
、abs()
、divmod()
、round()
等运算或函数。前4个分别表示加减乘除运算,//
、%
分别表示整除之后的整数部分和余数部分,**
和pow()
表示指数,abs()
表示取绝对值,divmod()
获得(x // y, x % y)
数对。round(x)
表示四舍五入,它还可传入第2个参数表示保留几位小数。
2 + 3 # 5
2 - 3 # -1
2 * 3 # 6
2 / 3 # 0.6666666666666666
2 // 3 # 0
2 % 3 # 2
2 ** 3 # 8
pow(2, 3) # 8
abs(-2) # 2
divmod(2, 3) # (0, 2)
round(2.35) # 2
round(2.35, 1) # 2.4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
布尔类型的数据具有and
、or
和not
三种逻辑运算,分别表示与、或和非。
True and False # False
True or False # True
not True # False
- 1
- 2
- 3
数据类型转化
“窄”数据类型会自动转化为更“宽”的数据类型。整型会转化为浮点型或复数型,浮点型会转化为复数型。
x = 1 + 2.3 # 1 转化为浮点型
type(x) # <class 'float'>
- 1
- 2
还可以通过int()
、float()
和complex()
函数进行强制转化。int(x)
将x
转化为整型,float(x)
将x
转化为浮点型,complex(re, im)
转化为复数型。
int(2.6) # 2
float(3) # 3.0
complex(1, 2) # (1+2j)
- 1
- 2
- 3
关于数值类型更多更详细的内容可以查看官网Numeric Types。