python中的Numbers类型

共有三种不同的Numbers类型:int(整型)、float(浮点型)和complex(复数)。

  • int - 整型,在Python里整型具有无限的精度。布尔型是整型的一个子类型
  • float - 浮点型,浮点型通常实现为double
  • complex - 复数,复数包括实部和虚部,它们都是一个浮点型数字。

Numbers类型由数字字面量创建或作为内置函数和运算符的结果创建。

如何指定Numbers类型变量为某一特定的子类型

  • 未经修饰的整数(包括十六进制、八进制和二进制数)产生整数。
  • 包含小数点或带指数符号的数字产生浮点数。
  • j或附加J到数字文字会产生一个虚数(一个实部为零的复数),您可以将其与一个整数或浮点数相加得到一个带有实部和虚部的复数。
intValue = 240              # 整型
floatValue1 = 3.1415926     # 浮点型
floatValue2 = 32.3e+18      # 浮点型
complexValue = 1 + 2j       # 复数

您还可以使用构造函数int()float()complex()生成特定类型的变量:

intValue = int(240)              # 整型
floatValue1 = float(3.1415926)   # 浮点型
complexValue = complex(1 , 2)    # 复数

Numbers类型常见的运算和操作

运算和操作 结果 描述和示例
x + y xy相加的和
x - y xy相减的差
x * y xy的乘积
x / y xy的商 结果包含小数部分(如果有) 1 / 2的结果是0.5
x // y Xy整除的商 结果值是一个整数,尽管结果的类型不一定是int。结果总是向负无穷大舍入:1//2的结果是0(-1)//2的结果是-11//(-2)的结果是-1(-1)//(-2)的结果是0
x % y x除以y的余数
-x x取反 相当于x*-1
abs(x) x的绝对值
int(x) x转化为整数 从浮点数到整数的转换,不进行4舍5入
float(x) x转化为浮点数
complex(re, im) 一个复数,实部为re,虚部为im。 如果省略im,则虚部默认为零。
c.conjugate() 复数c的共轭
divmod(x, y) (x // y, x % y)
pow(x, y) xy次幂
x ** y xy次幂

Python支持不同类型的值参与运算:当二元算术运算符具有不同数字类型的操作数时,具有“较窄”类型的操作数会被扩展为另一个类型的操作数,其中整数比浮点数窄,浮点数比复数窄。

比较两个Numbers类型

不同类型的数字之间的比较表现得好像正在比较这些数字的实际值。

>>> int(1)==float(1.0)
True

数值的进制表示

  • 二进制数使用0b前缀,例如0b11000,表示十进制数24
  • 八进制数使用0o前缀,例如0o30,表示十进制数24
  • 十六进制数使用0x前缀,例如0o30,表示十进制数24
>>> print(0b11000)
24
>>> print(0o30)
24
>>> print(0x18)
24

一个整型变量,可以使用函数bin(),输出其二进制形式。

bool布尔型

python中布尔值使用常量TrueFalse来表示;注意此常量区分大小写。

声明布尔型变量时时可以指定值此常量

b = True

您也可以使用构造函数bool()

Python中,boolint的子类(继承int),故 True==1 False==0 是会返回Ture