数字类型运算
python的数字类型分为三种,分别是整数int
、 浮点数float
和 复数complex
。
Python 完全支持混合算术,当一个二元运算符用于不同数字类型的操作数时,具有“较窄” 类型的操作数会被扩展为另一个操作数的类型,整数比浮点数更窄,浮点数又比复数更窄。 混合类型数字之间的比较也使用相同的规则。构造器int()
、float()
和complex()
可被用于生成特定类型的数字。
所有数字类型(复数除外)都支持下列运算,按优先级升序排序,所有数字运算的优先级都高于比较运算
x + y
x 和 y 的和x - y
x 和 y 的差x * y
x 和 y 的乘积x / y
x 和 y 的商x // y
x 和 y 的商数也称为整数除法,结果值是一个整数,但结果的类型不一定是 int。运算结果总是向负无穷的方向舍入: 1//2
为
, (-1)//2
为 -1
, 1//(-2)
为 -1
而 (-1)//(-2)
为
。x % y
remainder of x / y
不可用于复数,应在适当条件下使用 abs()转换为浮点数-x
x 取反+x
x 不变abs(x)
x 的绝对值或大小int(x)
将 x 转换为整数从浮点数转换为整数会被舍入或是像在 C 语言中一样被截断float(x)
将 x 转换为浮点数float 也接受字符串 “nan” 和附带可选前缀 “+” 或 “-“ 的 “inf” 分别表示非数字 (NaN) 以及正或负无穷complex(re, im)
一个带有实部 re 和虚部 im 的复数。im 默认为0。接受的数字字面值包括数码
到 9
或任何等效的 Unicode 字符(具有 Nd
特征属性的代码点)c.conjugate()
复数 c 的共轭divmod(x, y)
(x // y, x % y)
不可用于复数pow(x, y)
x 的 y 次幂x ** y
x 的 y 次幂Python 将 pow(0, 0)
和 0 ** 0
定义为 1
,这是编程语言的普遍做法所有 numbers.Real 类型 (int 和 float) 还包括下列运算按位运算只对整数有意义,计算按位运算的结果,就相当于使用无穷多个二进制符号位对二的补码执行操作。
二进制按位运算的优先级全都低于数字运算,但又高于比较运算;一元运算 ~ 具有与其他一元算术运算 (+ and -) 相同的优先级。
x 丨 y
x 和 y 按位 或x ^ y
x 和 y 按位 异或x & y
x 和 y 按位 与x << n
x 左移 n 位,等价于不带溢出检测地乘以 pow(2, n)
x >> n
x 右移 n 位,等价于不带溢出检测地除以 pow(2, n)
~x
x 逐位取反声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。