python具备的功能是_用了Python这么多年,揭秘Python不为人知的7大功能和特点!...

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

fb22d20a89a15c26900787710f167c52.png

使用Glob()查找文件

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

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

710ed571d8cf5bdaa512ea7db0688629.png

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

3ca4e88ea9aa5a07f7b5bb32dadce681.png

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

5a7595ee09179d842b730fa7cc381f38.png

调试

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

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

30fa43016de8c23a46d0746bb6a4501e.png

生成唯一ID

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

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

de21bf61b0fc1dd269922d1f33acc041.png

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

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

47dadfa7983fbac9b82d9cc8bb5b7dbf.png

序列化

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

c27208ca6b7631a0487bce8e5f29e9ed.png

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

a56c634ef6cb2ada12331558f586cb7c.png

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

压缩字符

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

10b6bddd92c18bcb7aea2e4d03ea0fb8.png

注册Shutdown函数

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

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

b2cc0ee14b38850279d47ee008f862aa.png

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

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

总结:

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值