Python之operator库

operator库常用方法operator.itemgetter返回一个可调用对象,获取项目使用的操作数的__getitem__()方法操作数。如果指定了多个项,则返回一个查找值元组。>&

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

operator库常用方法

Function Syntax
add(a+b) a + b
concat(seq1,seq2) seq1 + seq2
contains(seq, obj) obj in seq
div(a,b)(without future.division) a/b
truediv(a,b)(with future.division) a/b
floordiv(a,b) a // b
and_(a,b) a & b
xor(a, b) a ^ b
invert(a) ~a
or_(a, b) a b
pow(a,b) a ** b
is_(a,b) a is b
is_not(a,b) a is not b
setitem(obj, k, v) obj[k] = val
delitem(obj, k) del obj[k]
getitem(obj, k) obj[k]
lshift(a,b) a << b
mod(a,b) a % b
mul(a,b) a * b
neg(a) -a
not_(a) not a
pos(a) + a
rshift(a, b) a >> b
repeat(seq,i) seq * i
setitem(seq, slice(i,j),values) seq[i,j] =values
delitem(seq,slice(i,j),values) del seq[i,j]
getitem(seq, slice(i,j)) seq[i:j]
mod(s, obj) s % obj
sub(a, b) a-b
truth(obj) obj

operator.itemgetter

  返回一个可调用对象,获取项目使用的操作数的__getitem__()方法操作数。如果指定了多个项,则返回一个查找值元组。

def itemgetter(*items):
    if len(items) == 1:
        item = items[0]
        def g(obj):
            return obj[item]
    else:
        def g(obj):
            return tuple(obj[item] for item in items)
    return g

>>> itemgetter(1)(‘ABCDEFG’)
‘B’
>>> itemgetter(1,3,5)(‘ABCDEFG’)
(‘B’, ‘D’, ‘F’)
>>> itemgetter(slice(2,None))(‘ABCDEFG’)
‘CDEFG’

operator.attrgetter

  返回一个可调用对象,通过其操作数获取属性。如果请求多个属性,则返回一个属性元组。属性名称也可以包含点。

def attrgetter(*items):
    if any(not isinstance(item, str) for item in items):
        raise TypeError('attribute name must be a string')
    if len(items) == 1:
        attr = items[0]
        def g(obj):
            return resolve_attr(obj, attr)
    else:
        def g(obj):
            return tuple(resolve_attr(obj, attr) for attr in items)
    return g

def resolve_attr(obj, attr):
    for name in attr.split("."):
        obj = getattr(obj, name)
    return obj

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120180.html原文链接:https://javaforall.net

(0)
上一篇 2021年12月19日 上午8:00
下一篇 2021年12月19日 上午9:00


相关推荐

  • Eclipse配置maven环境「建议收藏」

    1、首先下载maven,下载地址为:http://maven.apache.org/download.cgi,然后选择apache-maven-3.6.0-bin.tar.gz,如下图所示:2、然后新建一个maven目录,如下图所示:3、将下载的maven包解压到该目录中,如下图所示:4、配置环境变量,新建一个MAVEN_HOME,值为:D:\InstallFile\Mav…

    2022年4月10日
    54
  • 微信小程序签到考勤系统

    微信小程序签到考勤系统这是我自己编写的一个微信小程序 用于课堂的签到考勤 秉承着开源精神 把源码分享出来 一起学习 一起成长 1 小程序端在小程序客户端这边 我一开始是想这样设计的 任何一个用户在第一次使用时会进入一个 角色创建 的页面 他可以选择 老师 或 学生 的身份 填入相应的信息后点击注册按钮 就会进入我的课程页面 这要分两种情况 因为老师和学生看到的页面信息是不一样的 如果是老师创建 则进入的主

    2026年3月20日
    2
  • Linux安装maven详细步骤

    Linux安装maven详细步骤Linux 安装 maven 详细步骤

    2026年3月26日
    3
  • 百度文心一言核心技术解析与应用实践指南

    百度文心一言核心技术解析与应用实践指南

    2026年3月12日
    2
  • 何为泛型擦除

    何为泛型擦除何为泛型擦除要理解泛型的擦除 首先要知道泛型的产生 泛型是 JDK1 5 才添加到 Java 中的 也就是说 JDK1 5 之前是没有泛型这一说的 例如 Comparable 接口在 JDK1 5 之前是如下定义的 publicinterf publicintcom Objecto 在 JDK1 5 或之后就采用了泛型 具体如下 publi

    2026年3月26日
    2
  • Okio源码分析

    Okio源码分析【参考资料】拆轮子系列:拆Okio

    2022年4月30日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号