ITPub博客

首页 > 应用开发 > > Python用了这么久,这七种功能你知道吗?

Python用了这么久,这七种功能你知道吗?

作者:else 时间:2019-11-06 14:49:46 0 删除 编辑

Python小梦 



使用了这么多年python,我在上次的行业交流会上了解到一些非常有用的功能和特性,可能很少人有了解和使用过这些功能。考虑到这一点,我在此篇文章会分享和总结一些你应该了解的Python功能特色,希望能够在工作上帮助到大家。好了废话不多说,我总结了一下七种功能特性一一告诉大家。

1.带任意数量参数的函数

大家知道Python可以允许你定义可选参数。但还存在一个方法,可以定义函数任意数量的参数。

下面是定义可选参数的例子:

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

这里补充一句:更一般的函数定义方式是def fun(*args,**kwargs),可以在许多Python源码中发现这种定义,其中*args表示任何多个无名参数,它本质是一个元组tuple;**kwargs表示关键字参数,它本质上是一个字典dict。

2.使用Glob()查找文件

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

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

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

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

3.调试

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

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

4.生成唯一ID

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

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

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

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

5.序列化

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

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

6.压缩字符

当谈起压缩时我们通常想到文件,比如ZIP结构。在Python中也可以压缩长字符:

7.注册Shutdown函数

有可模块叫atexit,它可以让你在脚本运行完后立马执行一些代码。

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

打眼其实很简单。只需要将代码添加到脚本的最底层,它将在脚本结束前运行。但如果脚本中有一个致命错误或者脚本被用户终止,它可能就无法运行了。当你使用atexit.register()时,你的代码都将执行,不论脚本因为什么原因停止运行。

结尾:不知道python这些特性功能能否帮到大家,如果大家喜欢这篇文章点赞关注评论转发一条龙走起。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2318/viewspace-3123912/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 怎么用AI抠图?
请登录后发表评论 登录
全部评论

注册时间:2019-07-17

  • 博文量
    271
  • 访问量
    19562