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

带任意数量参数的函数

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

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

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

使用 Glob() 查找文件

大多Python函数有着长且具有描述性的名字。但是命名为glob()的函数你可能不知道它是干什么的除非你从别处已经熟悉它了。

Python学习qun:5563,70268,这里是python学习者聚集地,欢迎喜欢Python的小伙伴!

它像是一个更强大版本的listdir()函数。它可以让你通过使用模式匹配来搜索文件。

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

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

调试

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

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

生成唯一 ID

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

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

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

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

序列化

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

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

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

压缩字符

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

注册 Shutdown 函数

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

Python学习qun:5563,70268,这里是python学习者聚集地,欢迎喜欢Python的小伙伴!

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

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

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

转载于:https://blog.51cto.com/13457136/2365936

原来 Python 还有这些实用的功能和特点!相关推荐

  1. python使用函数的优点-原来 Python 还有这些实用的功能和特点!

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

  2. python的功能及特点_使用Python这么多年,才发现Python还有这些实用的功能和特点...

    原标题:使用Python这么多年,才发现Python还有这些实用的功能和特点 在使用Python多年以后,我偶然发现了一些我们过去不知道的功能和特性.一些可以说是非常有用,但却没有充分利用.考虑到这一 ...

  3. 前端学python有什么用-原来 Python 还有这些实用的功能和特点!

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

  4. python实用么_使用Python这么多年,才发现Python还有这些实用的功能和特点

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

  5. python使用函数的优点-Python用了这么多年,总结出超实用的功能和特点

    在使用Python这么久,时不时就会发现了一些过去不知道的功能和特性.一些可以说是非常有用,但却没有充分利用.本篇文章总结出你应该了解的Python功能特色,希望大家在学习过程中,少走弯路,善用技巧! ...

  6. Python知识:实用程序模块基础——OS模块

    Python中的OS模块提供了与操作系统交互的功能. OS属于Python的标准实用程序模块.该模块提供了一种使用操作系统相关功能的可移植方式. os和os.path模块包含许多与文件系统交互的函数. ...

  7. python可以实现哪些功能_Python学习究竟有多强大,Python代码能实现哪些功能

    Python究竟有多强大?Python代码能实现哪些功能?众所周知,Python入门简单.功能强大,是人工智能时代最佳的编程语言.但很多人好奇Python究竟有多强大,为什么那么受欢迎?下面就来给大家 ...

  8. Python学习教程实用技法:通过公共键对字典列表排序—itemgetter

    Python学习教程实用技法:通过公共键对字典列表排序-itemgetter 前言:我们有一个字典列表,想根据一个或多个字典中的值对列表进行排序. 利用operator模块中的itemgetter函数 ...

  9. Python 迁移学习实用指南 | iBooker·ApacheCN

    原文:Hands-On Transfer Learning with Python 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则& ...

  10. Python 无监督学习实用指南:1~5

    原文:Hands-on unsupervised learning with Python 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译后编 ...

最新文章

  1. 机器学习中qa测试_机器学习自动化单元测试平台
  2. 独家 | 如何“扰乱”科技巨头用来监视你的数据
  3. 树莓派 linux0.12,12 个可替代树莓派的单板机
  4. ORA-16019: cannot use LOG_ARCHIVE_DEST_1 解决方法
  5. 从决策树学习谈到贝叶斯分类算法
  6. iOS-多线程 ,整理集锦,多种线程的创建
  7. 初级图像混合——线性混合操作
  8. 小程序服务器域名5次_为什么您不应该在100美元的服务器上用5天的时间构建面向500,000个用户的应用程序...
  9. Modown收费资源下载 WordPress 1.7主题+Erphpdown插件
  10. JavaScript中的纯函数是什么?
  11. java 基础语法ppt,03_JAVASE_语法基础下.ppt_练习
  12. 载体构建实例解析——构建 SETD3-pEGFP-N1(Snapgene 设计引物)
  13. 让你的MSN更精彩!聊天伴侣小i机器人试用体验
  14. 阿里 Lindorm 数据库联手 Hightopo ,开启工业物联超融合存储模式
  15. 计算机行为治疗模式,抑郁症的计算机化认知行为治疗(27页)-原创力文档
  16. 旅游商城会员中心HTML,旅游特产商城功能_旅游特产商城系统-思途旅游CMS
  17. 【学习笔记】大数据技术之Flume
  18. LDPC译码:和积译码算法(SPA)、最小和算法(MSA)、分层译码算法(LBP)、动态信息更新策略IDS(含RBP、NW-RBP、SVNF-RBP)的MATLAB实现
  19. 企业微信如何退出之前的公司
  20. Java Swing入门

热门文章

  1. Mac Book Pro Catalina不能打开软件,提示检查为恶意软件
  2. 算法:Find First and Last Position of Element in Sorted Array(在有序数组中搜索第一个和最后一个找到的数字)
  3. java.lang.stringind_为什么越界了? java.lang.StringIndexOutOfBoundsException
  4. Kaggle酒推荐,winemag-data-130k-v2.csv
  5. smartMeter
  6. android studio | openGL es 3.0增强现实(AR)开发汇总
  7. 【Codeforces Round #585 (Div. 2) E】Marbles【状压DP】
  8. 应急响应的基本流程二
  9. 面试必掌握的redis的问题
  10. 684.冗余连接(力扣leetcode) 博主可答疑该问题