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

    文章

    2696

    浏览量

    47439
  • 字符串
    +关注

    关注

    1

    文章

    578

    浏览量

    20508
  • 函数
    +关注

    关注

    3

    文章

    4329

    浏览量

    62578
  • python
    +关注

    关注

    56

    文章

    4793

    浏览量

    84634
  • 标准库
    +关注

    关注

    0

    文章

    31

    浏览量

    7433

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

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

收藏 人收藏

    评论

    相关推荐

    数据分析中最常用、最好用的20Python分享

    【导读】Python在解决数据科学任务和挑战方面处于领先地位。而一些方便易用的则帮助了开发人员高效开发。在这里我们整理了20在深度学习、数据分析中最常用、最好用的
    的头像 发表于 01-03 09:28 5272次阅读
    数据分析中最<b class='flag-5'>常用</b>、最好用的20<b class='flag-5'>个</b><b class='flag-5'>Python</b><b class='flag-5'>库</b>分享

    常用Python图像处理介绍

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

    5常用Python

    Python 标准有超过 200 模块,程序员可以在他们的程序中导入和使用。虽然普通程序员对其中许多模块都有一些经验,但很可能有一些好用的模块他们仍然没有注意到。
    发表于 11-28 11:27 540次阅读

    Python机器学习常用

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

    常用python机器学习盘点

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

    常用Python有那些38常用Python的详细概述

    Python作为一设计优秀的程序语言,现在已广泛应用于各种领域,依靠其强大的第三方类Python在各个领域都能发挥巨大的作用。
    的头像 发表于 11-03 10:28 3.1w次阅读

    Python的常见详细资料介绍

    由于设计者和开源社区的共同努力,在python中有大量优秀的可以被直接调用以高效地完成不同需求的工作。这里列举一些常见常用
    发表于 06-16 16:37 29次下载
    <b class='flag-5'>Python</b>的常见<b class='flag-5'>库</b>详细资料<b class='flag-5'>介绍</b>

    常用Python GUI

    Python GUI 有很多,下面给大家罗列常用的几种 GUI 。下面介绍的这些GUI框架,能满足大部分开发人员的需要,你可以根据自己的
    的头像 发表于 08-26 14:52 2514次阅读

    常用的元件介绍

    常用的元件介绍
    发表于 10-26 15:59 13次下载

    分享5用于图像处理的Python

    提取特征。 在今天的文章中,我们将介绍5最好的Python,它们可能会帮助你执行图像处理,如裁剪、缩放等。
    的头像 发表于 02-08 16:23 1369次阅读
    分享<b class='flag-5'>5</b><b class='flag-5'>个</b>用于图像处理的<b class='flag-5'>Python</b><b class='flag-5'>库</b>

    如何安装常用Python

    使用常用Python是非常重要的一步。本文将介绍如何安装常用Python
    的头像 发表于 04-14 12:11 1157次阅读

    Python常用的几个命令介绍

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

    python读取数据数据 python查询数据 python数据连接

    ,获取数据中的数据,并对数据进行增删改查等操作。本文将详细介绍Python如何连接数据、读取数据数据以及如何进行查询操作。 一、
    的头像 发表于 08-28 17:09 1818次阅读

    时间序列分析的四基本Python介绍

    在本文中,我们将介绍主要的Python——statmodels、tslearn、tssearch、 tsfresh ——每个都针对时
    的头像 发表于 11-03 10:17 890次阅读
    时间序列分析的四<b class='flag-5'>个</b>基本<b class='flag-5'>Python</b><b class='flag-5'>库</b><b class='flag-5'>介绍</b>

    深度学习常用Python

    深度学习作为人工智能的一重要分支,通过模拟人类大脑中的神经网络来解决复杂问题。Python作为一种流行的编程语言,凭借其简洁的语法和丰富的支持,成为了深度学习研究和应用的首选工具。本文将深入探讨
    的头像 发表于 07-03 16:04 629次阅读