本模块主要包括一些Python内部操作符对应的函数。比如operator.add(x, y)对应表达式:x + y。在这些函数里,一般是带前缀和后缀的下划线,在这里不带这些下划线的函数,也是合法的。这些函数主要分为几类:对象比较、逻辑比较、算术运算和序列操作。
对象比较的函数:
operator.lt(a, b)
operator.le(a, b)
operator.eq(a, b)
operator.ne(a, b)
operator.ge(a, b)
operator.gt(a, b)
operator.__lt__(a, b)
operator.__le__(a, b)
operator.__eq__(a, b)
operator.__ne__(a, b)
operator.__ge__(a, b)
operator.__gt__(a, b)
所有操作函数对应的表达式操作如下表:
操作 |
语法 |
函数 |
相加 |
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 |
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)) |
切片 |
seq[i: j] |
getitem(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) |
例子:
#python 3.4
import operator
a = operator.add(2, 3)
print(a)
结果输出如下:
5
蔡军生 QQ:9073204 深圳