内容简介:经常有新人或转行下面我总结了一些Python不为人知的功能特性,超好用,希望可以帮你更好的了解Python。
经常有新人或转行 软件测试 的朋友问我,如果想学测试,应该从哪门语言入手,以前我一般会推荐 Java 和 Python,现在主要推荐 Python。从发展趋势看来,Python 的发展势头有增无减,尤其是在 工具 脚本、数据爬取、数据分析和人工智能领域。大部分库语言都是 Python ,可见一斑。
下面我总结了一些Python不为人知的功能特性,超好用,希望可以帮你更好的了解Python。
带任意数量参数的函数
你可能已经知道了Python允许你定义可选参数。但还有一个方法,可以定义函数任意数量的参数。
首先,看下面是一个只定义可选参数的例子
现在,让我们看看怎么定义一个可以接受任意参数的函数。我们利用元组来实现。
使用Glob()查找文件
很多Python函数都有一个长的描述其功能的名字。但如果你不是在别的地方见过glob()这个函数,你可能很难理解它是做什么的。
想像一个很有用的listdir()函数,它能让你通过匹配模式来搜索文件。
你可以像下面这样查找多个文件类型:
如果你想得到每个文件的绝对路径,你可以在返回值上调用realpath()函数:
调试
下面的一些例子利用了inspect模块。这个模块对于调试来说是非常有用的,并且你通该模块可获得的远比这里所描述的要多。
在本文中,我们不会覆盖这些功能的每一个,但是我将会向你展现一些用例:
生成唯一ID
可能会有一些情形,你需要生成一个唯一的字符串。我曾经见过很多人使用md5()函数来实现这一需求,尽快它并完全意味着该目的。
其实有一个名为uuid()的Python函数是用于这个目的的。
你可能会注意到,即使字符串是唯一的,但它们后边的几个字符看起来很相似。这是因为生成的字符串与电脑的MAC地址是相联系的。
为了降低产生相同字符串的几率,你可以使用下面的两个函数。
序列化
你曾经需要将一个复杂的变量存储在数据库或文本文件中吧?你不需要想一个奇特的方法将数组或对象格转化为式化字符串,因为Python已经提供了此功能。
这是一个原生的Python序列化方法。然而近几年来JSON变得流行起来,Python添加了对它的支持。现在你可以使用JSON来编解码。
这样更紧凑,而且最重要的是这样与JavaScript和许多其他语言兼容。然而对于复杂的对象,其中的一些信息可能丢失。
压缩字符
当谈起压缩时我们通常想到文件,比如ZIP结构。在Python中可以压缩长字符,不涉及任何档案文件。
注册Shutdown函数
有可模块叫atexit,它可以让你在脚本运行完后立马执行一些代码。
假如你想在脚本执行结束时测量一些基准数据,比如运行了多长时间:
打眼看来很简单。只需要将代码添加到脚本的最底层,它将在脚本结束前运行。但如果脚本中有一个致命错误或者脚本被用户终止,它可能就不运行了。
当你使用atexit.register()时,你的代码都将执行,不论脚本因为什么原因停止运行。
总结:
上文中介绍了Python的一些特性,你是否还知道别的Python有用的特性,但还不是广为人知?可以一起探讨下!
最后为了让你更深入的了解Python,我再来介绍下 Python的好处 。
1、功能强大,使用简单,语言唯一性的特征明显(唯一性的意思就是你不能用十八种写法实现一个功能),而且具备海量的第三方库……Python 程序员最爱说的一句话是:人生苦短,我用 Python。
2、Python 支持交互式编程、面向对象编程、函数式编程、面向切面编程、当然还有元编程。
并没有很多的语言能提供像 Python 这样的多样性和简洁性,无论你是编码新手还是能信手写就脚本的大师,都需要了解一下 Python。
欢迎加入 51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 群:755431660
以上所述就是小编给大家介绍的《用了Python这么多年,揭秘Python不为人知的7大功能和特点!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Lettuce 5.1.0.M1 发布,带来 5 大功能特性变更
- [译] Python 最重要的 5 大功能,要是能早点了解就好了
- React 技术揭秘
- Redis replication 揭秘
- [译]揭秘基本数据类型
- 《CSS揭秘》读书笔记
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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》 这本书的介绍吧!