在使用Python多年之后,我偶然发现了一些咱们过去不知道的功能和特性。一些能够说是很是有用,但却没有充分利用。考虑到这一点,我编辑了一些你应该了解的Python功能特点。python
带任意数量参数的函数数据库
你可能已经知道了Python容许你定义可选参数。但还有一个方法,能够定义函数任意数量的参数。数组
首先,看下面是一个只定义可选参数的例子函数
如今,让咱们看看怎么定义一个能够接受任意参数的函数。咱们利用元组来实现。学习
使用 Glob() 查找文件ui
大多Python函数有着长且具备描述性的名字。可是命名为glob()的函数你可能不知道它是干什么的除非你从别处已经熟悉它了。spa
它像是一个更强大版本的listdir()函数。它可让你经过使用模式匹配来搜索文件。调试
你能够像下面这样查找多个文件类型:对象
若是你想获得每一个文件的绝对路径,你能够在返回值上调用realpath()函数:图片
调试
下面的例子使用inspect模块。该模块用于调试目的时是很是有用的,它的功能远比这里描述的要多。
这篇文章不会覆盖这个模块的每一个细节,但会展现给你一些用例。
Python学习qun:5563,70268,这里是python学习者汇集地,欢迎喜欢Python的小伙伴!
生成惟一 ID
在有些状况下你须要生成一个惟一的字符串。我看到不少人使用md5()函数来达到此目的,但它确实不是以此为目的。
其实有一个名为uuid()的Python函数是用于这个目的的。
你可能会注意到,即便字符串是惟一的,但它们后边的几个字符看起来很类似。这是由于生成的字符串与电脑的MAC地址是相联系的。
为了减小重复的状况,你可使用这两个函数。
序列化
你曾经须要将一个复杂的变量存储在数据库或文本文件中吧?你不须要想一个奇特的方法将数组或对象格转化为式化字符串,由于Python已经提供了此功能。
这是一个原生的Python序列化方法。然而近几年来JSON变得流行起来,Python添加了对它的支持。如今你可使用JSON来编解码。
这样更紧凑,并且最重要的是这样与JavaScript和许多其余语言兼容。然而对于复杂的对象,其中的一些信息可能丢失。
压缩字符
当谈起压缩时咱们一般想到文件,好比ZIP结构。在Python中能够压缩长字符,不涉及任何档案文件。
注册 Shutdown 函数
有可模块叫atexit,它可让你在脚本运行完后立马执行一些代码。
Python学习qun:5563,70268,这里是python学习者汇集地,欢迎喜欢Python的小伙伴!
假如你想在脚本执行结束时测量一些基准数据,好比运行了多长时间:
打眼看来很简单。只须要将代码添加到脚本的最底层,它将在脚本结束前运行。但若是脚本中有一个致命错误或者脚本被用户终止,它可能就不运行了。
当你使用atexit.register()时,你的代码都将执行,不论脚本由于什么缘由中止运行。