operator模块是python中内置的操作符函数接口,它定义了一些算术和比较内置操作的函数。operator模块是用c实现的,所以执行速度比python代码快。
操作 |
语法 |
函数 |
加法 |
a + b |
add(a, b) |
连接 |
seq1 + seq2 |
concat(seq1, seq2) |
包含测试 |
obj in seq |
contains(seq, obj) |
除法 |
a / b |
truediv(a, b) |
除法 |
a // b |
floordiv(a, b) |
按位与 |
a & b |
and_(a, b) |
按位异或 |
a ^ b |
xor(a, b) |
按位求反 |
~ a |
invert(a) |
按位求或 |
a | b |
or_(a, b) |
求幂 |
a ** b |
pow(a, b) |
身份测试 |
a is b |
is_(a, b) |
身份测试 |
a is not b |
is_not(a, b) |
索引分配 |
obj[k] = v |
setitem(obj, k, v) |
索引删除 |
del obj[k] |
delitem(obj, k) |
得出索引键值 |
obj[k] |
getitem(obj, k) |
左移 |
a << b |
lshift(a, b) |
求模 |
a % b |
mod(a, b) |
乘法 |
a * b |
mul(a, b) |
矩阵乘法 |
a @ b |
matmul(a, b) |
求负值(数学) |
- a |
neg(a) |
求负值(逻辑) |
not a |
not_(a) |
求正值 |
+ a |
pos(a) |
右移 |
a >> b |
rshift(a, b) |
片段分配 |
seq[i: j] = values |
setitem(seq, slice(I, j), values) |
片段删除 |
del seq[i, j] |
delitem(seq, slice(I, j)) |
得到片段 |
swq[i : j] |
getitme(seq, slice(i, j)) |
字符串格式化 |
s % obj |
mod(s, obj) |
减法 |
a - b |
sub(a, b) |
真值测试 |
obj |
truth(obj) |
排序 |
a < b |
lt(a, b) |
排序 |
a <= b |
le(a, b) |
相等 |
a == b |
eq(a, b) |
不等 |
a!= b |
ne(a, b) |
排序 |
a >= b |
ge(a, b) |
排序 |
a > b |
gt(a, b) |
3.函数实例
#导入模块
from operator import lt
#调用lt比较大小
print(lt(2,4))
3.1 mul(a, b)——支持数/列表/元组与数相乘
a=[1,2,3]
b=2
print(mul(a,b))
输出结果:
[1, 2, 3, 1, 2, 3]