1. 数字操作
所有数字类型可进行以下操作:
操作
描述
x + y
加法
x - y
减法
x * y
乘法
x / y
除法
x // y
截断除法
x ** y
乘方(x的y次方)
x % y
取模(x mod y)
-x
一元减法
+x
一元加法
截断除法运算符"//",也称为地板除法,把结果截取为一个整数,并且整数和浮点数均可应用。取模运算符返回的是x // y的余数,对于浮点数,取模运算符返回的是x // y的浮点余数。对于复数,取模和截断除法运算符是无效的。
以下移位和按位逻辑运算符只能应用于整数:
操作
描述
x << y
左移
x >> y
右移
x & y
按位与
x | y
按位或
x ^ y
按位异或
~x
按位求反
以下内置函数支持所有数字类型:
操作
描述
abs(x)
绝对值
divmod(x,y)
返回(x // y, x % y)
pow(x, y [, modulo])
返回(x ** y) % module
round(x [,n])
四舍五入为接近的10^-n的倍数(只返回浮点数)
abs()函数返回数字的绝对值。divmod()函数返回除法操作的商和余数,只对非复数有效。pow()函数可以用于代替**运算符。round()函数将一个浮点数x四舍五入为最近的10^-n的倍数,如果省略n,它将被设为0.
以下比较运算符具有标准的数学解释,返回值为布尔型的True或False:
操作
描述
x < y
小于
x > y
大于
x == y
等于
x != y
不等于
x >= y
大于等于
x <= y
小于等于
比较运算符可以连在一起,比如x < y < z。这类表达式等价于x < y and y < z。不允许对复数进行比较,否则会引发TypeError异常。只有当操作数属于同一类型时,对这些操作数进行运算才是有效的。对于内置数字,Python将进行强制类型转换,转换规则如下:
1) 如果操作数之一为复数,则将另一个操作数也转换为复数。
2) 如果操作数之一为浮点数,则将另一个操作数也转换为浮点数。
3) 否则,两个操作数必须同时为整数,不需要进行转换。
2. 序列操作
序列类型(包括字符串、列表和元组)支持的运算符如下所示:
操作
描述
s + r
连接
s n, n s
制作s的n个副本,n为整数
v1, v2..., vn = s
变量解包
s[i]
索引
s[i:j]
切片
s[i:j:stride]
扩展切片
x in s, x not in s
从属关系
for x in s:
迭代
all(s)
如果s中的所有项都为True,则返回False
any(s)
如果s中的任意项为True,则返回True
len(s)
长度
min(s)
s中的最小项
max(s)
s中的最大项
sum(s [, initial])
具有可选初始值的项的和
"+"运算符用于连接相同类型的两个序列。s * n运算符制作一个序列的n个副本。但是,这些副本仅仅是浅复制。
所有序列都可以被解包为一列变量名称,例如:
items = [3, 4, 5]
x, y, z = items
datetime = ((5, 19, 2008