0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍5个常用的Python库

Android编程精选 来源:Android编程精选 2023-03-22 09:27 次阅读
Python 标准库有超过 200 个模块,程序员可以在他们的程序中导入和使用。虽然普通程序员对其中许多模块都有一些经验,但很可能有一些好用的模块他们仍然没有注意到。

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

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

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

1. difflib

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

SequenceMatcher

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

语法:

SequenceMatcher(None,string1,string2)

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


						

fromdifflibimportSequenceMatcher phrase1="TandrewlovesTrees." phrase2="TandrewlovestomountTrees." 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是两个单词需要具有的最小相似度才能被函数视为返回值(可选)。

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

fromdifflibimportget_close_matches

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

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

除此之外还有几个是您可以查看的属于Difflib的其他一些方法和类:unified_diffDifferdiff_bytes

2. sched

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

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

创建一个schedular实例:

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

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

  • 调用run()时,调度程序中的事件/条目会按照顺序被调用。在安排完事件后,此函数通常出现在程序的最后。另外,搜索公众号Linux就该这样学后台回复“git书籍”,获取一份惊喜礼包。

  • enterabs()是一个函数,它本质上将事件添加到调度程序的内部队列中。它按以下顺序接收几个参数:

    • 事件执行的时间
    • 活动优先级
    • 事件本身(一个函数)
    • 事件函数的参数
    • 事件的关键字参数字典

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

importsched
importtime


defevent_notification(event_name):
print(event_name+"hasstarted")


my_schedular=sched.scheduler(time.time,time.sleep)
closing_ceremony=my_schedular.enterabs(time.time(),1,event_notification,("TheClosingCeremony",))

my_schedular.run()
#Output:TheClosingCeremonyhasstarted

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

3. binaascii

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

b2a_base64binaascii模块中的一种方法,它将 base64 数据转换为二进制数据。下面是这个方法的一个例子:

importbase64
importbinascii

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及其函数的使用示例:


						importweakref classBook: defprint_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("numberofweakrefsof'lotr':"+rcount_lotr) print("numberofweakrefsof'num':"+rcount_num) print("Weakrefsof'lotr':"+rlist_lotr) print("Weakrefsof'num':"+rlist_num) #Output: #numberofweakrefsof'lotr':1 #numberofweakrefsof'num':0 #Weakrefsof'lotr':[] #Weakrefsof'num':[]

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

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

回顾

  • Difflib是一个用于比较数据集,尤其是字符串的模块。例如,SequenceMatcher可以比较两个字符串并根据它们的相似性返回数据。

  • sched是与time模块一起使用的有用工具,用于使用schedular实例安排事件(以函数的形式)。例如,enterabs()将一个事件添加到调度程序的内部队列中,该队列将在调用run()函数时运行。

binaascii可在二进制和 ASCII 之间转换以编码和解码数据。b2a_base64binaascii模块中的一种方法,它将 base64 数据转换为二进制数据。

tty模块需要配合使用termios模块,并处理 tty 设备。它仅适用于 Unix。

weakref用于弱引用。它的函数可以返回对象的弱引用,查找对象的弱引用数量等。其中非常使用的函数之一是getweakrefs(),它接受一个对象并返回一个该对象包含的所有弱引用的数组。

要点

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

无论您的编程专业知识水平如何,您都应该不断学习。多投入一点时间可以为您带来更多价值,并为您节省更多未来时间。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2479

    浏览量

    46521
  • 字符串
    +关注

    关注

    1

    文章

    548

    浏览量

    20105
  • 函数
    +关注

    关注

    3

    文章

    3865

    浏览量

    61307
  • python
    +关注

    关注

    51

    文章

    4674

    浏览量

    83458
  • 标准库
    +关注

    关注

    0

    文章

    29

    浏览量

    7344

原文标题:介绍 5 个常用的 Python 库

文章出处:【微信号:AndroidPush,微信公众号:Android编程精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    常用Python图像处理库介绍

    本文主要介绍了一些简单易懂最常用Python 图像处理库。
    的头像 发表于 08-19 10:54 1666次阅读

    Python机器学习常用

    Python编写,是很友好的,但由于开发不久,就深度和广大而言,还有些匮乏!十、NeurolabNeurolab是一API友好的神经网络,其包含递归神经网络实现的不同变体,如果使
    发表于 03-26 16:29

    Python存储数据详解

    Python开发中,数据存储、读取是必不可少的环节,而且可以采用的存储方式也很多,常用的方法有json文件、csv文件、MySQL数据、Redis数据以及Mongdb数据
    发表于 03-29 15:47

    Python常用的数据类型

    的对象集合。7. 集合集合是一无序的、不重复的数据组合,它的主要作用有两,分别是去重和关系测试。以上是对Python的七种数据类型的简单介绍,具体使用方法,可以进行深入查找学习!
    发表于 04-19 15:14

    十大Python机器学习常用

    . DashDash 是一可构建 Web 应用,尤其是数据可视化 Web 应用的纯 Python 开源。它建立在 Flask、Plotly 和 React 之上,并提供这几个框架的函数抽象接口,从而开发者不必
    发表于 05-02 16:37

    python数据分析的类

    分析相关的一定要熟悉,那么常用Python数据分析有哪些呢?1.NumPyNumPy是Python科学计算的基础包,它提供:1).快速
    发表于 05-10 15:18

    常用python机器学习盘点

    现在人工智能非常火爆,机器学习应该算是人工智能里面的一子领域,而其中有一块是对文本进行分析,对数据进行深入的挖掘提取一些特征值,然后用一些算法去学习,训练,分析,甚至还能预测,那么Python常用
    发表于 05-10 15:20

    Python爬虫与Web开发盘点

    Python爬虫和Web开发均是与网页相关的知识技能,无论是自己搭建的网站还是爬虫爬去别人的网站,都离不开相应的Python,以下是常用Pyth
    发表于 05-10 15:21

    【建议收藏】Python大全

    ,安全连接池、支持文件post、可用性高。httplib2一网络。RoboBrowser -一简单的、极具Python风格的Python
    发表于 09-06 15:58

    TensorFlow常用Python扩展包

    )。PythonMagick:这是 ImageMagick Python 绑定。它是一显示、转换和编辑光栅图像及矢量图像文件的。它支持超过 200
    发表于 07-28 14:35

    使用python包apriltag对AprilTag进行检测

    AprilTags二维码的检测与应用1 AprilTags介绍2 使用python包apriltag对AprilTag进行检测2.1 python模块apriltag的安装2.2
    发表于 08-17 06:23

    什么是python包、模块和

    1. 模块以 .py 为后缀的文件,我们称之为 模块,英文名 Module。模块让你能够有逻辑地组织你的 Python 代码段,把相关的代码分配到一模块里能让你的代码更好用,更易懂。假设现在有一
    发表于 03-09 16:48

    常用的几款Python集成开发环境或者编辑器详解

    ,因此,Python的开发工具就此诞生,使用window开发环境的,Python自带了一个IDLE可以进行脚本编辑,但是还是不够完善,因此,本文章主要介绍几款常用
    发表于 12-01 11:21 3227次阅读

    如何安装常用Python

    并使用常用Python库是非常重要的一步。本文将介绍如何安装常用Python库,以帮助您在Pytho
    的头像 发表于 04-14 12:11 811次阅读

    Python常用的几个命令介绍

    Python是一种功能强大的编程语言,广泛用于数据分析、人工智能和Web开发等领域。在使用Python时,需要掌握一些基本的命令,以便更好地管理和运行代码。下面将介绍Python
    的头像 发表于 06-21 17:12 1846次阅读