1.概述
operator模块是python中内置的操作符函数接口,它定义了一些算术和比较内置操作的函数。operator模块是用c实现的,所以执行速度比python代码快。
2.函数的映射操作
操作 | 语法 | 函数 |
加法 | 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]