【Python标准库】冷门但好用的 Python 库推荐一波

你可能不知道的五个实用的 Python 模块 Python 标准库有超过 200 个模块,程序员可以在他们的程序中导入和使用。虽然普通程序员对其中许多模块都有一些经验,但很可能有一些好用的模块他们仍然没有注意到。 我发现其中许多模块都包含了在各个领域都非常有用的函数。比较数据集、协作其他函数以及音频处理等都可以仅使用 Python 就可以自动完成。 因此,我编制了一份您可能不知道的 Python 模块的候选清单,并对这几个模块进行了适当的解释,以便您在将来理解和使用它们。 所有这些模块都有不同的函数和类。我包含了几个鲜为人知的函数和类,因此即.. 阅读详情

Python 标准库有超过 200 个模块,程序员可以在他们的程序中导入和使用。虽然普通程序员对其中许多模块都有一些经验,但很可能有一些好用的模块他们仍然没有注意到。

我发现其中许多模块都包含了在各个领域都非常有用的函数。比较数据集、协作其他函数以及音频处理等都可以仅使用 Python 就可以自动完成。

因此,我编制了一份您可能不知道的 Python 模块的候选清单,并对这几个模块进行了适当的解释,以便您在将来理解和使用它们。

所有这些模块都有不同的函数和类,本文包含了几个鲜为人知的函数和类,因此即使您听说过这些模块,也可能不知道它们的某些方面和用途。

1. difflib

difflib 是一个专注于比较数据集(尤其是字符串)的 Python 模块。为了具体了解您可以使用此模块完成的几件事,让我们检查一下它的一些最常见的函数。

SequenceMatcher

SequenceMatcher 是一个比较两个字符串并根据它们的相似性返回数据的函数。通过使用 ratio(),我们将能够根据比率/百分比来量化这种相似性。

语法:

SequenceMatcher(None, string1, string2)

下面这个简单的例子展示了该函数的作用:

from difflib import SequenceMatcher

phrase1 = "Tandrew loves Trees."
phrase2 = "Tandrew loves to mount Trees."
similarity = SequenceMatcher(None, phrase1, phrase2)
print(similarity.ratio())
# Output: 0.8163265306122449

get_close_matches

接下来是 get_close_matches,该函数返回与作为参数传入的字符串最接近的匹配项。

语法:

get_close_matches(word, possibilities, result_limit, min_similarity)

下面解释一下这些可能有些混乱的参数:

  • word 是函数将要查看的目标单词。
  • possibilities 是一个数组,其中包含函数将要查找的匹配项并找到最接近的匹配项。
  • result_limit 是返回结果数量的限制(可选)。
  • min_similarity 是两个单词需要具有的最小相似度才能被函数视为返回值(可选)。

下面是它的一个使用示例:

from difflib import get_close_matches

word = 'Tandrew'
possibilities = ['Andrew', 'Teresa', 'Kairu', 'Janderson', 'Drew']

print(get_close_matches(word, possibilities))
# Output: ['Andrew']

除此之外还有几个是可以查看的属于 Difflib 的其他一些方法和类:unified_diff、Differ和 diff_bytes。

2. sched

sched 是一个有用的模块,它以跨平台工作的事件调度为中心,与 Windows 上的任务调度程序等工具形成鲜明对比。大多数情况下,使用此模块时,都会使用 schedular 类。

更常见的 time 模块通常与 sched 一起使用,因为它们都处理时间和调度的概念。

创建一个 schedular 实例:

schedular_name = sched.schedular(time.time, time.sleep)

可以从这个实例中调用各种方法。

  • 调用 run() 时,调度程序中的事件/条目会按照顺序被调用。在安排完事件后,此函数通常出现在程序的最后。
  • enterabs() 是一个函数,它本质上将事件添加到调度程序的内部队列中。它按以下顺序接收几个参数:
    • 事件执行的时间
    • 活动优先级
    • 事件本身(一个函数)
    • 事件函数的参数
    • 事件的关键字参数字典

下面是一个示例,说明如何一起使用这两个函数:

import sched
import time


def event_notification(event_name):
    print(event_name + " has started")


my_schedular = sched.scheduler(time.time, time.sleep)
closing_ceremony = my_schedular.enterabs(time.time(), 1, event_notification, ("The Closing Ceremony", ))

my_schedular.run()
# Output: The Closing Ceremony has started

还有几个扩展 sched 模块用途的函数:cancel()、enter() 和 empty()。

3. binaascii

binaascii 是一个用于在二进制和 ASCII 之间转换的模块。

b2a_base64 是 binaascii 模块中的一种方法,它将 base64 数据转换为二进制数据。

下面是这个方法的一个例子:

import base64
import binascii

msg = "Tandrew"
encoded = msg.encode('ascii')
base64_msg = base64.b64encode(encoded)
decode = binascii.a2b_base64(base64_msg)
print(decode)
# Output: b'Tandrew'

该段代码应该是不言自明的,简单地说,它涉及编码、转换为 base64,以及使用 b2a_base64 方法将其转换回二进制。

以下是属于 binaascii 模块的其他一些函数:a2b_qp()、b2a_qp() 和 a2b_uu()。

4. tty

tty 是一个包含多个实用函数的模块,可用于处理 tty 设备。

以下是它的两个函数:

  • setraw() 将其参数 (fd) 中文件描述符的模式更改为 raw。
  • setcbreak() 将其参数 (fd) 中的文件描述符的模式更改为 cbreak。

由于需要使用 termios 模块,该模块仅适用于 Unix,例如在上述两个函数中指定第二个参数(when=termios.TCSAFLUSH)。

5. weakref

weakref 是一个用于在 Python 中创建对对象的弱引用的模块。

弱引用是不保护给定对象不被垃圾回收机制收集的引用。

以下是与该模块相关的两个函数:

  • getweakrefcount() 接受一个对象作为参数,并返回引用该对象的弱引用的数量。
  • getweakrefs() 接受一个对象并返回一个数组,其中包含引用该对象的所有弱引用。

weakref 及其函数的使用示例:

import weakref

class Book:
    def print_type(self):
        print("Book")

lotr = Book
num = 1
rcount_lotr = str(weakref.getweakrefcount(lotr))
rcount_num = str(weakref.getweakrefcount(num))
rlist_lotr = str(weakref.getweakrefs(lotr))
rlist_num = str(weakref.getweakrefs(num))

print("number of weakrefs of 'lotr': " + rcount_lotr)
print("number of weakrefs of 'num': " + rcount_num)
print("Weakrefs of 'lotr': " + rlist_lotr)
print("Weakrefs of 'num': " + rlist_num)
# Output: 
# number of weakrefs of 'lotr': 1
# number of weakrefs of 'num': 0
# Weakrefs of 'lotr': [<weakref at 0x10b978a90; to 'type' at #0x7fb7755069f0 (Book)>]
# Weakrefs of 'num': []

输出从输出的函数返回值我们可以看到它的作用。由于 num 没有弱引用,因此 getweakrefs() 返回的数组为空。

以下是与 weakref 模块相关的一些其他函数:ref()、proxy() 和 _remove_dead_weakref()。

总结

  • Difflib 是一个用于比较数据集,尤其是字符串的模块。例如,SequenceMatcher 可以比较两个字符串并根据它们的相似性返回数据。
  • sched 是与 time 模块一起使用的有用工具,用于使用 schedular 实例安排事件(以函数的形式)。例如,enterabs() 将一个事件添加到调度程序的内部队列中,该队列将在调用 run() 函数时运行。
  • binaascii 可在二进制和 ASCII 之间转换以编码和解码数据。b2a_base64 是 binaascii 模块中的一种方法,它将 base64 数据转换为二进制数据。
  • tty 模块需要配合使用 termios 模块,并处理 tty 设备。它仅适用于 Unix。
  • weakref 用于弱引用。它的函数可以返回对象的弱引用,查找对象的弱引用数量等。其中非常使用的函数之一是 getweakrefs(),它接受一个对象并返回一个该对象包含的所有弱引用的数组。

这些函数中的每一个都有其各自的用途,每一个都有不同程度的有用性。了解尽可能多的 Python 函数和模块非常重要,以便保持稳定的工具库,使得我们可以在编写代码时快速使用。

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

优快云大礼包:全网最全《全套Python学习资料》免费分享🎁

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

​

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

5️⃣Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

​

Python书籍推荐:《Python3标准库》         最近双十一气氛弥漫在整个互联网,不买点东西总觉得缺了什么。在逛某东的时候无意中发现了这本刚出版没多久的书,一时心血来潮立即加入购物车,这不对啊,价格这么贵,而且优惠套路太多了。去当当一看,五折,99.5块,果断拿下。         Python的库太庞大的,确实需要一本书来梳理一下,最好是按库的功能来粗略地分类,方便我们通过目录快速查阅。而《Python3标准库》就是这样一本书... 阅读详情

相关推荐

AWS入门实践-如何在AWS云上创建一个内外网隔离的生产环境

在 AWS 上建立一个内外网分离的生产环境,可以减少应用服务的暴露面,有效的保证你的应用服务器的安全。通常我们会将web应用放在外网的子网内,数据库服务器等放在内网的子网。我们将按照下图来部署动手实践环境,实现在public subnet的EC2虚拟机可以直接通过互联网可以访问,在Private subnet的EC2虚拟机不能通过互联网直接访问,但是却可以在内部来访问互联网安装应用等等。

weixin_39108752的博客 2994

Python difflib.get_close_matches 文本匹配

Python difflib.get_close_matches。

zlc1990628的博客 1085

基于 Wi-Fi 的室内定位系统

目前,随着国内外相关从业人员的研究,研究者们提出了众多室内定位技术的理论与方法。在此仅讨论基于 Wi-Fi 的室内定位技术。 WI-FI室内定位 近年来Wi-Fi技术飞速发展,城市中的公共场所如大型超市商场、学校、企业等都已经广泛部署Wi-Fi。Wi-Fi室内定位技术已经出现了很多具有代表性的研究成果,如RADAR系统、Nibble系统、Weyes系统等室内定位系统。2012年,Google把Wi...

温染的笔记 9567

选出相似的文本按照相似度排序difflib.get_close_matches

选出相似的文本按照相似度排序 difflib.get_close_matches

liujingwei8610的专栏 1264

手把手教你用gym训练宇树GO2机器人模型(附完整配置文件)

本文提供了一份详细的实战指南,教你如何使用Gym框架为宇树GO2四足机器人搭建强化学习训练环境。文章深入解析了环境配置、参数调试、奖励函数设置等关键步骤,并分享了避开常见陷阱的经验,旨在帮助开发者高效完成模型训练。

oo7890的博客 322

CASS3D实战:高效三维房屋与地形采集绘制技巧

本文详细介绍了CASS3D在三维房屋与地形采集绘制中的高效技巧,包括智能绘房功能、不规则结构处理、特殊构件快速绘制及地形数据采集策略。通过实战案例和进阶操作指南,帮助用户快速掌握CASS3D的核心功能,提升三维采集与绘制效率。

weixin_29216049的博客 866

python中Base64使用

Base64

m0_57520200的博客 2951

补洞与fairing算法

对网格进行补洞,remesh, 平滑,fairing, 最小二乘优化平滑

闪电彬彬的博客 1047

介绍 5 个常用的 Python 库

Python 标准库有超过 200 个模块,程序员可以在他们的程序中导入和使用。虽然普通程序员对其中许多模块都有一些经验,但很可能有一些好用的模块他们仍然没有注意到。我发现其中许多模块都包含了在各个领域都非常有用的函数。比较数据集、协作其他函数以及音频处理等都可以仅使用 Python 就可以自动完成。因此,我编制了一份您可能不知道的 Python 模块的候选清单,并对这几个模块进行了适当的解释,以便您在将来理解和使用它们。所有这些模块都有不同的函数和类。

优快云_224022的博客 1477

QGis软件 —— 1、Windows10下载安装QGis及插件

QGis —— 1、Windows10下载安装QGis及插件

5158

stable diffusioncontrolNet 预处理器/模型的下载及安装使用教程

首先说明,controlNet 的模型 不同于stable diffusion 模型,这一点一定要区分清楚。下面提供多个ControlNet 预处理器+ 专用模型的百度网盘下载链接,都是由群友整理贡献,但各自包含的版本不同,大家可自行选择。推荐下载紫色链接内的模型,fp16版文件更小,稍微新一些的controlnet插件还添加了对control-lora的支持(注意,要求controlnet插件的版本比12月16号新(1.1.423以上)才能正常识别),推荐下载;

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 3384

推荐一波冷门但好用的 Python 库

Difflib是一个用于比较数据集,尤其是字符串的模块。例如,可以比较两个字符串并根据它们的相似性返回数据。sched是与time模块一起使用的有用工具,用于使用schedular实例安排事件(以函数的形式)。例如,enterabs()将一个事件添加到调度程序的内部队列中,该队列将在调用run()函数时运行。binaascii可在二进制和ASCII之间转换以编码和解码数据。b2a_base64是binaascii模块中的一种方法,它将base64数据转换为二进制数据。tty模块需要配合使用termios。

m0_59236602的博客 1797

图神经网络实战(21)——图神经网络的可解释性

在本节中,我们探讨了应用于图神经网络 (Graph Neural Networks, GNN) 的可解释性人工智能 (Explainable Artificial Intelligence, XAI) 技术。可解释性是许多领域的关键要素,可以帮助我们建立更好的模型。我们介绍了不同的局部解释技术,并重点讨论了 GNNExplainer (基于扰动的方法),在图分类任务中应用 GNNExplainer。

盼小辉丶的博客 9507

冷门好用的 Python 库推荐一波

Python 标准库有超过 200 个模块,程序员可以在他们的程序中导入和使用。虽然普通程序员对其中许多模块都有一些经验,但很可能有一些好用的模块他们仍然没有注意到。我发现其中许多模块都包含了在各个领域都非常有用的函数。比较数据集、协作其他函数以及音频处理等都可以仅使用 Python 就可以自动完成。因此,我编制了一份您可能不知道的 Python 模块的候选清单,并对这几个模块进行了适当的解释,以便您在将来理解和使用它们。所有这些模块都有不同的函数和类。

python1234_的博客 1055

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

冷门但好用的 Python 库推荐一波

Difflib是一个用于比较数据集,尤其是字符串的模块。例如,可以比较两个字符串并根据它们的相似性返回数据。sched是与time模块一起使用的有用工具,用于使用schedular实例安排事件(以函数的形式)。例如,enterabs()将一个事件添加到调度程序的内部队列中,该队列将在调用run()函数时运行。binaascii可在二进制和ASCII之间转换以编码和解码数据。b2a_base64是binaascii模块中的一种方法,它将base64数据转换为二进制数据。tty模块需要配合使用termios。

lyy2017175913的博客 1027

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

冷门但好用的Python库推荐一波

Difflib是一个用于比较数据集,尤其是字符串的模块。例如,可以比较两个字符串并根据它们的相似性返回数据。sched是与time模块一起使用的有用工具,用于使用schedular实例安排事件(以函数的形式)。例如,enterabs()将一个事件添加到调度程序的内部队列中,该队列将在调用run()函数时运行。binaascii可在二进制和ASCII之间转换以编码和解码数据。b2a_base64是binaascii模块中的一种方法,它将base64数据转换为二进制数据。tty模块需要配合使用termios。

Trb401012的博客 778

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

给大家推荐一波Python书单,电子版拿走不谢

Python 之所以这么流行得益于它适用于很多不同领域,目前 Python 使用最广泛的领域包括有 Python Web(后端)开发、数据分析挖掘、网络爬虫、机器学习人工智能、运维开发等等。不管你选择哪个方向,把Python基础学牢有利于你在该领域更好的施展拳脚。 给大家推荐一波Python书单,希望你们都能成为技术大牛!1、Python编程:从入门到实践 Amazon编程入门类榜首图书,年度最值得关注Python入门书同时使用Python 2.7 和Python 3.5 讲解,全面、详细、深入浅出

weixin_49889351的博客 5736

多少要了解的python库,你知道多少???

导读 我们都着眼于如何使用现有的库来避免重复工作,从而使程序开发工作事半功倍。通常,开发大量原始代码是一个费时费力的工作,为了避免这种情况,我们会尽可能多地使用库中已有的类来创建对象,通常仅需要一行代码。因此,库能够帮助我们使用适量的代码执行重要的任务。 01 Python标准库 16 / 29 Python标准库提供了丰富的功能,包括文本/二进制数据处理、数学运算、函数式编程、文件/目录访问、数据持久化、数据压缩/归档、加密、操作系统服务、并发编程、进程间通信、网络协议、JSON / XML /其他In.

肥学的博客 6232

python自带的4个标准库

Python 自带的 4 个标准库Python 作为一门广泛使用的编程语言,其自带的标准库也是非常丰富的。其中,比较常用的有四个标准库,分别是:os、sys、re 和 random。本文将从多个角度分析这四个标准库的功能和使用方法。

2201_75362610的博客 6755
上一篇: 我们在写 Python 脚本时,一定要加上这个
下一篇: 学Python内置函数学晕了?来了来了内置函数全总结,需要的抓紧收藏
AI大模型学习
博客等级 码龄4年 2463粉丝 620原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值