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


相关推荐

  • 深度*公司*科大讯飞(002230):星火大模型持续升级 项目中标数量及金额位列行业第一

    深度*公司*科大讯飞(002230):星火大模型持续升级 项目中标数量及金额位列行业第一

    2026年3月14日
    2
  • windows系统下etcd的安装与使用

    windows系统下etcd的安装与使用一 简介 etcd 是一个分布式一致性键值存储 其主要用于分布式系统的共享配置和服务发现 etcd 由 Go 语言编写二 下载并安装 1 下载地址 https github com coreos etcd releases2 将压缩文件解压到指定文件夹解压后的目录如下 其中 etcd exe 是服务端 etcdctl exe 是客户端二 简单实用 1 点击 etcd exe 运行 etcd

    2026年3月26日
    3
  • serialVersionUID作用

    serialVersionUID作用

    2021年12月8日
    53
  • peid逆向记录

    peid逆向记录文章标题 peid 逆向记录 文章作者 layper 作者邮箱 作者主页 www sy135 com 下载地址 自己搜索下载 作者声明 只是感兴趣 没有其他目的 失误之处敬请诸位大侠赐教

    2026年3月18日
    2
  • 避免在移动端页面中使用100vh

    避免在移动端页面中使用100vh100vh带来的问题在CSS中,视口单位(Viewportunits)听起来不错。如果要设置一个元素的样式使它占据整个屏幕的高度,那么你可以设置height:100vh,这样你就拥有一个完美的全屏元素,该元素会随着视口的变化而调整大小!可惜的是,事实并非如此。100vh在移动浏览器中以一种微妙但基本的方式被破坏,使其几乎无用。最好避免使用100vh,而应该通过javascript设置高度的方…

    2022年5月1日
    47
  • springboot整合tkmybatis以及使用

    springboot整合tkmybatis以及使用经常用 mybatis 的的都知道 使用 mybatisorm 框架存在一个非常不友善的问题就是 就是每操作一个单表就需要自己手写一个 xml 文件 虽然说可以用工具生成 xml 和实体类可以解决这个问题 但是二次开发的时候对某个表字段进行修改的时候 生成 xml 文件就不现实啦 最近发现 tkmybatis 就非常好的解决了这个问题 在这里和大家分享一下 框架配置这里需要引用到的包 mybat

    2025年6月15日
    3

发表回复

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

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