Python数据分析、挖掘与可视化(慕课版)
上QQ阅读APP看书,第一时间看更新

2.1.1 整数、浮点数、复数

2.1.1

Python内置的数值类型有整型、浮点型和复数类型。其中,整数类型除了常见的十进制整数,还有如下进制数。

● 二进制数。以0b开头,每一位只能是0或1,如0b10011100。

● 八进制数。以0o开头,每一位只能是0、1、2、3、4、5、6、7这8个数字之一,如0o777。

● 十六进制数。以0x开头,每一位只能是0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f之一,其中a表示10,b表示11,以此类推,如0xa8b9。

Python支持任意大的数字。另外,由于精度的问题,对浮点数运算可能会有一定的误差,应尽量避免在浮点数之间直接进行相等性测试,而是应该比较两个浮点数是否足够接近。最后,Python内置支持复数类型及其运算。示例如下。

import math
print(math.factorial(32))               # 计算32的阶乘
print(0.4-0.3 == 0.1)                   # 浮点数之间尽量避免直接比较大小
print(math.isclose(0.4-0.3, 0.1))       # 测试两个浮点数是否足够接近
num = 7
squreRoot = num ** 0.5                  # 计算平方根
print(squreRoot**2 == num)
print(math.isclose(squreRoot**2, num))
c = 3+4j                                # Python内置支持复数类型及其运算
print(c+c)                              # 复数相加
print(c**2)                             # 幂运算
print(c.real)                           # 查看复数的实部
print(c.imag)                           # 查看复数的虚部
print(3+4j.imag)                        # 相当于3+(4j).imag
print(c.conjugate())                    # 查看共轭复数
print(abs(c))                           # 计算复数的模

运行结果为:

263130836933693530167218012160000000
False
True
False
True
(6+8j)
(-7+24j)
3.0
4.0
7.0
(3-4j)
5.0