你需要知道的并且对你很有用的 Python 功能和特点

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

带任意数量参数的函数

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

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

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

使用Glob()查找文件

大多Python函数有着长且具有描述性的名字。但是命名为的函数你可能不知道它是干什么的除非你从别处已经熟悉它了。它像是一个更强大版本的函数。它可以让你通过使用模式匹配来搜索文件。

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

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

调试

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

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

生成唯一ID

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

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

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

序列化

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

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

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

压缩字符

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

注册Shutdown函数

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

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

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

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

结论

你是否意识到那些不是广为人知Python特性很有用?请在评论处与我们分享。谢谢你的阅读!

原文地址:https://www.cnblogs.com/Python6359/p/9468325.html

时间: 2024-11-03 02:13:03

你需要知道的并且对你很有用的 Python 功能和特点的相关文章

对于Linux系统管理员很有用的16个在线工具

1. ExplainShell.com 命令解释 ??对于Linux用户来说每天都会写各种命令和脚本,那么你可以使用这个网站工具来查看命令式如何工作的,这样可以避免不必要的错误出现:也是一个很好的学习命令的方式 2. BashrcGenerator.com 定制个性命令提示符 ??简单说就是个性化生成命令提示符,可将生成的代码写入到用户家目录的.bashrc或者可以设置全局变量文件/etc/profile对所有用户生效 ??可参考:http://stackoverflow.com/questio

Web 开发中 20 个很有用的 CSS 库

转自:http://www.oschina.net/translate/css-libraries-for-developers 在过去的几年中,CSS已经成为一大部分开发者和设计者的最爱,因为它提供了一系列功能和特性.每个月都有无数个围绕CSS的工具被开发者发布以简化WEB开发.像CSS 库,框架,应用这样的工具能够为开发者做很多事,而且可以使开发者创造出创新立异的WEB应用. 在这篇文件章中我们找到了一系列对开发者有用的CSS库,它们能帮助开发者在一定的期限内取得有创造性和创新性的成果.我们

19个很有用的 JavaScript库推荐

流行的 JavaScript 库有jQuery,MooTools,Prototype,Dojo和YUI等,这些 JavaScript 库功能丰富,加上它们众多的插件,几乎能实现任何你需要的功能 然而需要实现一些特定的功能,则可以选择功能更专一的轻量库,今天这篇文章与大家分享16个很有用的 JavaScript 库. Blackbird: Open Source JavaScript Logging UtilityBlackbird 是一款非常酷的 JavaScript 调试工具,带有一个漂亮的界

java android布局里的控件值 反射绑定给实体类,实体类绑定给控件,表单提交绑定很有用

注意了:根据实际情况,添加实体里字段的类型,控件类型的判断才可使用.这里控件只有TextView EditText 实体类字段只有String int类型,带值的控件添加tag ,值和实体类的字段值一致 package ice.ui.service; import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import jav

Unix / 类 Unix shell 中有哪些很酷很冷门很少用很有用的命令?(转)

著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:孙立伟 链接:http://www.zhihu.com/question/20140085/answer/14107336 来源:知乎 这个问题quora上有人提过 What are some lesser known but useful Unix commands? ,已经有不少答案了,我个人已经从这些答案中学到不少,这里我只是照搬过来,然后加上自己的解释. lsof: 列出所有打开的文件.举例:'lsof -p

20+个很有用的 jQuery 的 Google 地图插件

Google 地图在寻找我们想要了解的商店或者其它有趣的地方这种用途方面很流行和实用. 地图被一些商店特地集成到了它们的网站上面,这样就可以让人们容易找到它们的所在. 尽管其并不容易被集成,Google 地图使用起来还是简单且引人注目的. 在你的站点上集成它需要一个漫长且复杂的过程. 但多亏了拥有一个许多实用Google地图插件资源库的jQuery. 你只需要将jQeury地图插件安装到你的站点上,然后就可以开始根据你的业务需要来设计简单但能吸引人的地图了. 在本文中,我会列出一堆实用的jQue

[转载]对于Linux系统管理员很有用的16个在线工具

对于Linux系统管理员很有用的16个在线工具 08/15. 2014 1. ExplainShell.com 命令解释 对于Linux用户来说每天都会写各种命令和脚本,那么你可以使用这个网站工具来查看命令式如何工作的,这样可以避免不必要的错误出现:也是一个很好的学习命令的方式 2. BashrcGenerator.com 定制个性命令提示符 简单说就是个性化生成命令提示符,可将生成的代码写入到用户家目录的.bashrc或者可以设置全局变量文件/etc/profile对所有用户生效 可参考:ht

Linux系统一些不大常用却很有用的命令

which命令 用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录.which命令会在环境变量PATH设置的目录里查找符合条件的文件.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. whereis命令 用来定位命令的二进制程序.源代码文件和man手册页等相关文件的路径. locate/slocate命令 用来查找文件或目录. type命令 用来显示指定命令的类型,判断给出的命令是内部命令还是外部命令. getcon

50个很棒的Python模块

我很喜欢Python,Python具有强大的扩展能力,我列出了50个很棒的Python模块,包含几乎所有的需要:比如Databases,GUIs,Images, Sound, OS interaction, Web,以及其他.推荐收藏. Graphical interface wxPython http://wxpython.org Graphical interface pyGtk http://www.pygtk.org Graphical interface pyQT http://www