文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python的7大功能和特点分别是什么

2023-06-05 00:48

关注

这篇文章将为大家详细讲解有关Python的7大功能和特点分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

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

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

带任意数量参数的函数

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

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

Python的7大功能和特点分别是什么

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

Python的7大功能和特点分别是什么

使用Glob()查找文件

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

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

Python的7大功能和特点分别是什么

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

Python的7大功能和特点分别是什么

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

Python的7大功能和特点分别是什么

调试

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

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

Python的7大功能和特点分别是什么

生成唯一ID

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

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

Python的7大功能和特点分别是什么

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

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

Python的7大功能和特点分别是什么

序列化

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

Python的7大功能和特点分别是什么

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

Python的7大功能和特点分别是什么

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

压缩字符

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

Python的7大功能和特点分别是什么

注册Shutdown函数

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

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

Python的7大功能和特点分别是什么

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

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

总结:

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

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

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

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

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

关于Python的7大功能和特点分别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯