0基础学习Python路径(40)operator模块

2024-09-02 09:44

本文主要是介绍0基础学习Python路径(40)operator模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

operator 模块

operator 模块提供了一套与 Python 的内置运算符对应的高效率函数。

函数的种类

函数包含的种类有:对象的比较运算、逻辑运算、数学运算和序列运算

比较运算

运算函数语法
小于lt(a, b)a < b
小于等于le(a, b)a <= b
大于gt(a, b)a > b
大于等于ge(a, b)a >= b
等于eq(a, b)a == b
不等于ne(a, b)a != b
实例:
>>> from operator import *
>>> lt(1, 2)     
True
>>> le(1, 3)    
True
>>> le(3, 3)   
True
>>> gt(10, 1)   
True
>>> ge(10, 10)
True
>>> ge(10, 9)  
True
>>> eq(10, 9) 
False
>>> ne(10,10) 
False
>>> ne(10, 9)
True

逻辑运算

运算函数语法
and_(a, b)a & b
or_(a, b)a
异或xor(a, b)a ^ b
取反invert(a, b)~ a
对象是否相等is_(a, b)a is b
对象是否不相等is_not(a, b)a is not b
真值truth(obj)obj
实例:
>>> from operator import *
>>> and_(1, 1)
1
>>> or_(1, 2)
3
>>> xor(1, 2)
3
>>> invert(True)
-2
>>> invert(1)
-2
>>> invert(2)
-3
>>> a = [1, 2, 3]
>>> b = 3
>>> is_(a, b)
False
>>> is_not(a, b)
True
>>> truth(a)
True

数学运算

运算函数语法
add(a ,b)a + b
truediv(a, b)a / b
mul(a, b)a * b
sub(a, b)a - b
pow(a, b)a ** b
负数neg(a)- a
正数pos(a)+ a
取模mod(a, b)a % b
实例:
>>> from operator import *
>>> add(1, 2)
3
>>> truediv(3, 2)
1.5
>>> mul(3, 2)
6
>>> sub(3, 2)
1
>>> pow(2, 8)
256
>>> neg(5)
-5
>>> neg(-5)
5
>>> pos(10)
10
>>> pos(-10)
-10
>>> mod(10, 3)
1

序列运算

运算函数语法
字符串拼接concat(seq1, seq2)seq1 + seq2
包含contains(seq, obj)obj in seq
索引赋值setitem(obj, i, v)obj[i] = v
索引删除delitem(obj, i)del obj[i]
索引取值getitem(obj, i)obj[i]
切片赋值setitem(seq, slice(i, j), values)seq[i:j] = values
切片删除delitem(seq, slice(i, j))del seq[i:j]
切片取值getitem(seq, slice(i, j))seq[i:j]
格式化mod(s, obj)s % obj
实例:
>>> from operator import *
>>> concat('hello', ' Python')
'hello Python'
>>> a = [1, 3, 4]
>>> contains(a, 2)
False
>>> setitem(a, 1, 5)
>>> a
[1, 5, 4]
>>> delitem(a, 2)
>>> a
[1, 5]
>>> getitem(a, 1)
5
>>> setitem(a, slice(1, 3), 'ijk')
>>> a
[1, 'i', 'j', 'k']
>>> delitem(a, slice(2, 3))
>>> a
[1, 'i', 'k']
>>> mod('str %s', 'value')
'str value'

attrgetter类

operator 模块的 attrgetter 类可以获取对象的属性用于 map(), stored() 操作

attrgetter实例:
from operator import *class Student:passdef __init__(self, name, score):self.name = nameself.score = scoredef __repr__(self):return '%s(name=%r,score=%r)' % (self.__class__.__name__, self.name, self.score)if __name__ == '__main__':students = [Student("zhangSan", 89),Student("liSi", 60),Student("wangWu", 70),Student("xiaoMing", 100)]print("按照【分数】排序: ")print(sorted(students, key=attrgetter('score'), reverse=True))g = attrgetter("score") # 获取【分数】属性vals = [g(i) for i in students]print ('获取分数属性:' + vals)

itemgetter类

operator 模块的 itemgetter 类会返回一个可调用对象,传入多个对象则返回元组

itemgetter实例:
>>> from operator import *
>>> itemgetter(3)('abcdefg')
'd'
>>> itemgetter(1, 3, 4)('abcdefg')
('b', 'd', 'e')
>>> itemgetter('name')({'name': 'liSi', 'age': 18})
'liSi'
>>> soldier = dict(rank='captain', name='dotterbart')
>>> itemgetter('rank')(soldier)
'captain'
>>> inventory = [('apple', 8), ('banana', 2), ('pear', 7)]
>>> getCount = itemgetter(1)
>>> list(map(getCount, inventory))
[8, 2, 7]
>>> sorted(inventory, key = getCount)
[('banana', 2), ('pear', 7), ('apple', 8)]

这篇关于0基础学习Python路径(40)operator模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1129619

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可