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

带任意数量参数的函数

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

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

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

使用Glob()查找文件

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

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

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

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

调试

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

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

生成唯一ID

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

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

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

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

序列化

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

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

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

压缩字符

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

注册Shutdown函数

有可模块叫atexit,它可以让你在脚本运行完后立马执行一些代码。想要一起学习交流想要共同进步的可以加python学习q-u-n-227+435+450 ,里有许多学习视频资料等待着大家

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

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

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

打算深入了解python的小伙伴们,可以加下小编的Python学习群:862672474,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。

彩蛋来了~

每天晚上20:00都会开直播给大家分享Python学习知识和路线方法,群里会不定期更新最新的教程和学习方法(进群送2018最新Python基础学习教程),大家都是学习Python的,或是转行,或是大学生,还有工作中想提升自己能力的Python党,如果你是正在学习Python的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。

python实用么_使用Python这么多年,才发现Python还有这些实用的功能和特点相关推荐

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

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

  2. Python灰帽子_黑客与逆向工程师的Python编程之道

    收藏自用 链接:Python灰帽子_黑客与逆向工程师的Python编程之道

  3. python老师武_跟着廖雪峰老师学python (5)

    若想技术精进,当然得把基础知识打得牢牢的. 廖雪峰的官方网站  python3教程,该网站提供的教程浅显易懂,还附带了讲学视频,非常适合初学者正规入门. 以下是通过廖雪峰python官方网站学习的个人 ...

  4. python 面试问题_值得阅读的30个Python面试问题

    python 面试问题 Interview questions are quite tricky to predict. In most cases, even peoples with great ...

  5. python网络爬虫_一篇文章教会你利用Python网络爬虫获取穷游攻略

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 [一.项目背景] 穷游网提供原创实用的出境游旅行指南.攻略,旅行社区和问答交流平台, ...

  6. 安装的python没有菜单栏_新手求助 为什么mac安装python后打开idle没有工具栏?

    查看: 6662|回复: 10 [已解决]新手求助 为什么mac安装python后打开idle没有工具栏? 电梯直达 发表于 2016-9-26 11:09:35 | 只看该作者 |倒序浏览 |阅读模 ...

  7. python 完全面向对象_史上最全的Python面向对象知识点疏理

    原标题:史上最全的Python面向对象知识点疏理 面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.class 类变量:类变 ...

  8. python怎么运行_程序员大牛讲解,Python程序的执行原理

    人工智能的火热让Python成为近两年来发展最好的开发语言,Python已经被越来越多的人所熟知,Python开发工程师水涨船高的薪资也吸引着更多的人进入这个行业.一名合格的Python工程师怎么能不 ...

  9. python缩写词_如果连这10个Python缩写都不知道,那你一定是Python新手!

    在本文中,我将告诉大家一些容易忽视的Python编程原理.规则和一些有趣的事实. 简介 对于许多开始学习编程的人来说,Python已经成为他们的首选.Python有非常直观的语法和支持动态类型的灵活性 ...

最新文章

  1. Android优化之内存优化倒计时篇
  2. 深度学习(十三)caffe之训练数据格式
  3. Linux graphic subsytem(1)_概述
  4. 简述:B2B、B2C、C2C、O2O
  5. SAP UI5 应用 filter 功能不能正常工作时的单步调试方法
  6. Java消息队列总结只需一篇解决ActiveMQ、RabbitMQ、ZeroMQ、Kafka
  7. matlab 万能,matlab 万能实用的线性曲线拟合方法
  8. matlab误码率分析,误码率分析 请大神帮忙解释下程序
  9. 自定义注解实现权限校验含义_厉害了!老大利用AOP实现自定义注解,半小时完成我三天工作量...
  10. 《第一本Docker书(修订版)》——第1章_简介_1.1Docker简介
  11. VAR模型Stata实例操作
  12. 2022年茶艺师(初级)考试试题及在线模拟考试
  13. 高效文件搜索工具Everything/Listary
  14. 邮件个性签名html,iphone发邮件添加个性签名方法
  15. Settings 笔记整理
  16. 不清楚MySQL索引为什么会失效,面试官:回去等通知
  17. Oracle_3th_多行函数
  18. ganymed-ssh2-build210.jar 的使用
  19. 两台电脑用蓝牙传文件出现“系统资源不足,电脑之间互相传递单个大文件,例如单个文件50g,100g
  20. Excel 2016 打开文件第一次打不开,有时空白,有时很慢要打开第二次才行

热门文章

  1. lambda表达式或者匿名函数中为什么要求外部变量为final
  2. hashMap 底层原理+LinkedHashMap 底层原理+常见面试题
  3. RegExp:正则表达式对象
  4. 现在学html4,HTML学习心得(4)
  5. make *** 没有指明目标并且找不到 makefile。 停止。_Makefile目标文件搜索(VPATH和vpath)...
  6. linux脚本怎么把文件地址变成动态地址,Linux脚本程序自动修改网卡配置文件中的MAC地址...
  7. 计划任务文件 linux,Linux之任务计划
  8. json tcl_确定TCL中变量的类型
  9. python语言使用什么语句实现上下文管理协议_Python 上下文管理器
  10. 计算机控制系统课程设计中期报告,课程设计中期报告模板.doc