用了Python这么多年,揭秘Python不为人知的7大功能和特点!

栏目: Python · 发布时间: 6年前

内容简介:经常有新人或转行下面我总结了一些Python不为人知的功能特性,超好用,希望可以帮你更好的了解Python。

经常有新人或转行 软件测试 的朋友问我,如果想学测试,应该从哪门语言入手,以前我一般会推荐 Java 和 Python,现在主要推荐 Python。从发展趋势看来,Python 的发展势头有增无减,尤其是在 工具 脚本、数据爬取、数据分析和人工智能领域。大部分库语言都是 Python ,可见一斑。

用了 <a href='https://www.codercto.com/topics/20097.html'>Python</a> 这么多年,揭秘Python不为人知的7大功能和特点!

下面我总结了一些Python不为人知的功能特性,超好用,希望可以帮你更好的了解Python。

带任意数量参数的函数

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

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

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

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

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

使用Glob()查找文件

很多Python函数都有一个长的描述其功能的名字。但如果你不是在别的地方见过glob()这个函数,你可能很难理解它是做什么的。

想像一个很有用的listdir()函数,它能让你通过匹配模式来搜索文件。

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

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

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

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

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

调试

下面的一些例子利用了inspect模块。这个模块对于调试来说是非常有用的,并且你通该模块可获得的远比这里所描述的要多。

在本文中,我们不会覆盖这些功能的每一个,但是我将会向你展现一些用例:

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

生成唯一ID

可能会有一些情形,你需要生成一个唯一的字符串。我曾经见过很多人使用md5()函数来实现这一需求,尽快它并完全意味着该目的。

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

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

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

为了降低产生相同字符串的几率,你可以使用下面的两个函数。

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

序列化

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

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

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

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

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

压缩字符

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

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

注册Shutdown函数

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

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

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

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

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

总结:

上文中介绍了Python的一些特性,你是否还知道别的Python有用的特性,但还不是广为人知?可以一起探讨下!

最后为了让你更深入的了解Python,我再来介绍下 Python的好处

1、功能强大,使用简单,语言唯一性的特征明显(唯一性的意思就是你不能用十八种写法实现一个功能),而且具备海量的第三方库……Python 程序员最爱说的一句话是:人生苦短,我用 Python。

2、Python 支持交互式编程、面向对象编程、函数式编程、面向切面编程、当然还有元编程。

并没有很多的语言能提供像 Python 这样的多样性和简洁性,无论你是编码新手还是能信手写就脚本的大师,都需要了解一下 Python。

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ    群:  

755431660


以上所述就是小编给大家介绍的《用了Python这么多年,揭秘Python不为人知的7大功能和特点!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

SCWCD Exam Study Kit Second Edition

SCWCD Exam Study Kit Second Edition

Hanumant Deshmukh、Jignesh Malavia、Matthew Scarpino / Manning Publications / 2005-05-20 / USD 49.95

Aimed at helping Java developers, Servlet/JSP developers, and J2EE developers pass the Sun Certified Web Component Developer Exam (SCWCD 310-081), this study guide covers all aspects of the Servlet an......一起来看看 《SCWCD Exam Study Kit Second Edition》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具