目录
6-1 attrgetter(attr) 从操作数中获取attr,若请求多个属性,则返回元组
6-1-1 基于 attrgetter() + sorted() 实现对同类实例们的排序,基于属性值
6-2 itemgetter(item) 返回可调用对象,调用她的__getitem__()方法,若有多个则返回元组
6-2-1 itemgetter() + sorted 排序应用
6-2-2 itemgetter() + groupby() 根据特定字段分组迭代数据
6-3 methodcaller(name[, args...])
一、简单介绍及学习参考
该 operator 模块导出一组与Python的内部运算符相对应的高效函数。例如,
operator.add(x,y)等同于
x+y
。许多函数名称是用于特殊方法的函数名称,没有双下划线。为了向后兼容,其中许多都有一个带有双下划线的变体。为清楚起见,优选没有双下划线的变体。这些函数属于执行对象比较,逻辑运算,数学运算和序列运算的类别。
二、运算符的相关函数
请注意,这些函数可以返回任何值,这些值可能会或可能不会被解释为布尔值。
- a<b
operator.
lt
(a,b )operator.
__lt__
(a,b )- a<=b
operator.
le
(a,b )operator.
__le__
(a,b )- a == b
operator.
eq
(a,b )operator.
__eq__
(a,b )- a > b
operator.
ne
(a,b )operator.
__ne__
(a,b )- a >= b
operator.
ge
(a,b )operator.
__ge__
(a,b )- a != b
operator.
gt
(a,b )operator.
__gt__
(a,b )
三、逻辑运算符的相关函数
逻辑操作通常也适用于所有对象,并支持真值测试,身份测试和布尔操作
- 非运算
operator.
not_
(obj)operator.
__not__
(obj)- 如果obj为真,则返回True,否则返回False。这相当于使用bool构造函数。
operator.
truth
(obj)- 返回 a is b
operator.
is_
(a, b)- 返回 a is not b
operator.
is_not
(a, b)
四、四则运算和位运算
operator.
abs
(obj)operator.
__abs__
(obj)
- 返回obj的绝对值
operator.
add
(a, b)operator.
__add__
(a, b)
- a+b
operator.
and_
(a, b)operator.
__and__
(a, b)
- 返回与运算,a and b
operator.
floordiv
(a, b)operator.
__floordiv__
(a, b)
- a // b
operator.
index
(a)operator.
__index__
(a)