简介
operator模块是Python标准运算符的替代函数,提供了一套与Python内置运算符相对应的高效率函数。
许多函数的名称与特殊方法名称相同,只是没有双下划线。为了向后兼容,保留了很多包含双下划线的函数。建议使用没有双下划线的函数。
整理operator模块提供的函数如下(不包含带双下划线的函数):
函数 | 语法 | 运算说明 |
---|---|---|
operator.lt (a, b) | a < b | |
operator.le (a, b) | a <= b | |
operator.eq (a, b) | a == b | |
operator.ne (a, b) | a != b | |
operator.ge (a, b) | a >= b | |
operator.gt (a, b) | a > b | |
operator.not_ (obj) | 返回 not obj的结果 | |
operator.truth (obj) | 如果obj为真,返回True,否则返回False | |
operator.is_ (a, b) | a is b | |
operator.is_not (a, b) | a is not b | |
operator.abs (obj) | 返回obj的绝对值 | |
operator.add (a, b) | a + b | |
operator.and_ (a, b) | a & b | 返回a与b的按位与的结果 |
operator.floordiv (a, b) | a // b | |
operator.index (a) | 返回a转换为整数的结果 | |
operator.inv (obj) | ~obj | 返回数字 obj 按位取反的结果 |
operator.invert (obj) | ~obj | 返回数字 obj 按位取反的结果 |
operator.lshift (a, b) | a << b | |
operator.mod (a, b) | a % b | |
operator.mul (a, b) | a * b | |
operator.matmul (a, b) | a @ b | |
operator.neg (obj) | -obj | 返回 obj 取负的结果 |
operator.or_ (a, b) | a | b | 返回 a 和 b 按位或的结果 |
operator.pos (obj) | +obj | 返回 obj 取正的结果 |
operator.pow (a, b) | a ** b | |
operator.rshift (a, b) | a >> b | |
operator.sub (a, b) | a - b | |
operator.truediv (a, b) | a / b | 返回 a / b 例如 2/3 将等于 .66 而不是 0。 这也被称为“真”除法 |
operator.xor (a, b) | a ^ b | 返回 a 和 b 按位异或的结果 |
operator.concat (a, b) | a + b | 对于序列 a 和 b,返回 a + b |
operator.contains (a, b) | b in a | 返回 b in a 检测的结果。 请注意操作数是反序的 |
operator.countOf (a, b) | 返回 b 在 a 中的出现次数 | |
operator.delitem (a, b) | 移除索引号 b 上的值 a | |
operator.getitem (a, b) | 返回索引号 b 上的值 a | |
operator.indexOf (a, b) | 返回 b 在 a 中首次出现所在的索引号 | |
operator.setitem (a, b, c) | 将索引号 b 上的值 a 设为 c | |
operator.attrgetter (attr) | 返回一个可从操作数中获取 attr 的可调用对象 | |
operator.attrgetter (*attrs) | 返回一个可从操作数中获取 attr 的可调用对象 | |
operator.itemgetter (item) | 返回一个使用操作数的 __getitem__() 方法从操作数中获取 item 的可调用对象 | |
operator.itemgetter (*items) | 返回一个使用操作数的 __getitem__() 方法从操作数中获取 item 的可调用对象 | |
operator.methodcaller (name, /, *args, *kwargs) | 返回一个在操作数上调用 name 方法的可调用对象,参数arg也将传递给name方法 | |
operator.iadd (a, b) | a += b | |
operator.iand (a, b) | a &= b | |
operator.iconcat (a, b) | a += b | a与b均为序列 |
operator.ifloordiv (a, b) | a //= b | |
operator.ilshift (a, b) | a <<= b | |
operator.imod (a, b) | a %= b | |
operator.imul (a, b) | a *= b | |
operator.imatmul (a, b) | a @= b | |
operator.ior (a, b) | a |= b | |
operator.ipow (a, b) | a **= b | |
operator.irshift (a, b) | a >>= b | |
operator.isub (a, b) | a -= b | |
operator.itruediv (a, b) | a /= b | |
operator.ixor (a, b) | a ^= b |