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

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

3天内不再提示

一些你应该了解的Python功能特色

马哥Linux运维 来源:lp 2019-03-11 15:53 次阅读

在使用Python多年以后,我偶然发现了一些我们过去不知道的功能和特性。一些可以说是非常有用,但却没有充分利用。考虑到这一点,我编辑了一些你应该了解的Python功能特色。

带任意数量参数的函数

你可能已经知道了Python允许你定义可选参数。但还有一个方法,可以定义函数任意数量的参数。

首先,看下面是一个只定义可选参数的例子

现在,让我们看看怎么定义一个可以接受任意参数的函数。我们利用元组来实现。

使用 Glob() 查找文件

大多Python函数有着长且具有描述性的名字。但是命名为glob()的函数你可能不知道它是干什么的除非你从别处已经熟悉它了。

它像是一个更强大版本的listdir()函数。它可以让你通过使用模式匹配来搜索文件。

你可以像下面这样查找多个文件类型:

如果你想得到每个文件的绝对路径,你可以在返回值上调用realpath()函数:

调试

下面的例子使用inspect模块。该模块用于调试目的时是非常有用的,它的功能远比这里描述的要多。

这篇文章不会覆盖这个模块的每个细节,但会展示给你一些用例。

生成唯一 ID

在有些情况下你需要生成一个唯一的字符串。我看到很多人使用md5()函数来达到此目的,但它确实不是以此为目的。

其实有一个名为uuid()的Python函数是用于这个目的的。

你可能会注意到,即使字符串是唯一的,但它们后边的几个字符看起来很相似。这是因为生成的字符串与电脑的MAC地址是相联系的。

为了减少重复的情况,你可以使用这两个函数。

序列化

你曾经需要将一个复杂的变量存储在数据库或文本文件中吧?你不需要想一个奇特的方法将数组或对象格转化为式化字符串,因为Python已经提供了此功能。

这是一个原生的Python序列化方法。然而近几年来JSON变得流行起来,Python添加了对它的支持。现在你可以使用JSON来编解码。

这样更紧凑,而且最重要的是这样与JavaScript和许多其他语言兼容。然而对于复杂的对象,其中的一些信息可能丢失。

压缩字符

当谈起压缩时我们通常想到文件,比如ZIP结构。在Python中可以压缩长字符,不涉及任何档案文件。

注册 Shutdown 函数

有可模块叫atexit,它可以让你在脚本运行完后立马执行一些代码。想要一起学习交流想要共同进步的可以加python学习q-u-n-227+435+450 ,里有许多学习视频资料等待着大家

假如你想在脚本执行结束时测量一些基准数据,比如运行了多长时间:

打眼看来很简单。只需要将代码添加到脚本的最底层,它将在脚本结束前运行。但如果脚本中有一个致命错误或者脚本被用户终止,它可能就不运行了。

当你使用atexit.register()时,你的代码都将执行,不论脚本因为什么原因停止运行。

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

    关注

    7

    文章

    2695

    浏览量

    47433
  • 函数
    +关注

    关注

    3

    文章

    4328

    浏览量

    62574
  • python
    +关注

    关注

    56

    文章

    4793

    浏览量

    84631

原文标题:原来 Python 还有这些实用的功能和特点!

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MPLS供应商应该提供的一些特定功能

    在评估全球多协议标签交换(MPLS)采购战略时采取的措施。第部分研究了在与潜在供应商交谈之前设计强大商业案例的重要性。本文介绍了MPLS供应商应该能够提供的一些特定功能。服务质量“服
    发表于 08-03 13:50

    了解MOSFET的一些原理

    电机的驱动,如下图1所示,要做好驱动电路,必须得了解清楚MOSFET的一些原理,才不会出错。图1 H桥全桥驱
    发表于 09-13 08:14

    Python一些冷知识(

    ,而实例用小写的这准则。但这并不是强制性的,即使反过来的也没有关系。但有一些内置的类,首字母都是小写,而实例都是大写。比如 bool 是类名,而 True,False 是其实例;比如
    发表于 04-01 16:55

    python一些冷知识(二)

    ,...show me the code'''上面只举了一些简单的例子。但要学会举反三。样的,在以下这些场景也同样适用类,和函数的定义。列表推导式,字典推导式,集合推导式,生成器
    发表于 04-01 17:03

    Python一些画图函数

    Python的画图工具箱即Matplotlib,类似于Matlab里面画图功能的包。在Python 里有个集成了Matplotlib和其他一些
    发表于 11-16 11:58 2928次阅读

    介绍Python 3 的功能 让人轻松地从Python 2迁移到Python 3

    为了使初学者能够轻松地从 Python 2 向 Python 3 实现迁移,我收集了一些 Python 3 的功能,希望对大家有所帮助。
    的头像 发表于 01-31 15:11 4498次阅读

    关于USB 4所需要了解一些知识

    USB4规范即将推出,有了它,我们将看到一些应该让我们的连接生活变得更简单的变化。虽然官方规格不会在2019年中期之前发布,但我们对它到达时会看到的内容非常了解
    发表于 08-26 11:07 1225次阅读

    Python入门应该避免什么样的错误

    在分享每个Python新手应该知道的4个常见错误之前,请确保您熟悉以下文章中的一些Python内置功能
    的头像 发表于 04-06 12:03 2056次阅读

    关于C语言的一些特殊功能介绍

    C语言之所以那么受欢迎,除了C语言历史悠久之外,还有它具有一些编程语言没有的功能。那么,今年我们就来了解下C语言的一些特殊
    的头像 发表于 08-18 15:31 2435次阅读
    关于C语言的<b class='flag-5'>一些</b>特殊<b class='flag-5'>功能</b>介绍

    Python一些经典面试题资料合集免费下载

    本文档的主要内容详细介绍的是Python一些经典面试题资料合集免费下载。
    发表于 09-04 14:49 15次下载
    <b class='flag-5'>Python</b>的<b class='flag-5'>一些</b>经典面试题资料合集免费下载

    一些常用且实用的Python代码实例

    python场漂亮的翻身仗。 这篇文章不准备介绍Python速度如何,而是给大家带来一些常用且实用的Python代码实例,几乎是开发者必
    的头像 发表于 06-22 16:57 3157次阅读

    一些值得玩味的python代码

    选取了 6 个自己认为值得玩味的 python 代码,希望对正在学习 python有所帮助。
    的头像 发表于 03-30 17:32 1708次阅读

    如何使用 Python 来创建一些强大的应用和实用工具

    本文将探讨如何以 Zynq UltraScale 器件上的 IP 核为目标,使用 Python 来创建一些强大的应用和实用工具。此处提供了个程序包,供您用于读取设备树和访问 IP 核。此外还提供
    发表于 09-08 10:23 685次阅读

    使用PyCharm时的一些实用设置和技巧

    在众多Python的编辑器中,最为推荐的就是PyCharm,带有整套可以帮助用户在使用Python语言开发时提高效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示等。此外PyCharm还提供了
    的头像 发表于 10-14 16:27 4428次阅读
    使用PyCharm时的<b class='flag-5'>一些</b>实用设置和技巧

    我们为什么需要了解一些先进封装?

    我们为什么需要了解一些先进封装?
    的头像 发表于 11-23 16:32 577次阅读
    我们为什么需要<b class='flag-5'>了解</b><b class='flag-5'>一些</b>先进封装?