Python - operator 模块 - 实现内部运算符的高级函数

Python的operator模块提供了一系列与内置运算符对应的高效函数,包括逻辑运算、数学运算、位运算以及序列操作等。通过attrgetter()和itemgetter(),可以方便地进行属性获取和排序、分组操作。
摘要由CSDN通过智能技术生成

目录

一、简单介绍及学习参考

二、运算符的相关函数

三、逻辑运算符的相关函数

四、四则运算和位运算

五、基于序列的操作

六、通用属性和项目的查找工具 

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.lta
    • operator.__lt__a
  • a<=b
    • operator.lea
    • operator.__le__a
  • a == b
    • operator.eqa
    • operator.__eq__a
  • a > b
    • operator.nea
    • operator.__ne__a
  • a >= b
    • operator.gea
    • operator.__ge__a
  • a != b
    • operator.gta
    • operator.__gt__a

三、逻辑运算符的相关函数

 逻辑操作通常也适用于所有对象,并支持真值测试,身份测试和布尔操作

  • 非运算
    • operator.not_(obj)
    • operator.__not__(obj)
  •  如果obj为真,则返回True,否则返回False。这相当于使用bool构造函数。
    • operator.truth(obj)
  • 返回 a is b
    • operator.is_(ab)
  • 返回 a is not b
    • operator.is_not(ab)

四、四则运算和位运算

  • operator.abs(obj)
  • operator.__abs__(obj)
    • 返回obj的绝对值
  • operator.add(ab)
  • operator.__add__(ab)
    • a+b
  • operator.and_(ab)
  • operator.__and__(ab)
    • 返回与运算,a and b
  • operator.floordiv(ab)
  • operator.__floordiv__(ab)
    • a // b
  • operator.index(a)
  • operator.__index__(a)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值