Awesome!细数10个隐藏在Python中的彩蛋

简介:

1、使用re.DEBUG查看正则表达式的匹配过程

正则表达式是Python的一大特色,但是调试起来会很痛苦,很容易得出一个bug。幸运的是,Python可以打印出正则表达式的解析树,通过re.debug来显示re.compile的完整过程。

ffeabdda76de65245e328d8a3e86e992850bbf2c

一旦你理解了语法,你就可以发现你的错误。在这里我们可以看到[/font]忘了去除[]

2、enumerate函数用于遍历列表中的元素以及它们的下标

cd2e53899330df455c423001e492fb47924b7cb1

 3、对默认实参要多加小心

fdb993e0fff1042a46b7b4fda6776246ab93497a

相反,你应该使用一个标记值表示“无定义”,来替换“[]”。

1dc1e7b366466b5b1a93ea9858326b6a45bb3590

4、对于C系的那些更喜欢括号而不是缩进的开发者,你只需使用以下一条命令:

from __future__ import braces

5、切片操作中的tricks

a = [1,2,3,4,5]
>>> a[::2]  
[1,3,5]

特殊的例子是x[::-1],它可以将列表反转

>>> a[::-1]
[5,4,3,2,1]

6、装饰器
装饰器实现了在一个函数中调用其它函数或方法来增加功能性,从而修改参数或结果等,在函数定义前加上装饰器,只需一个“@”符号。

以下示例显示了一个print_args装饰器的用法:

98d6d1299eaabd19ab0506b59b4eb341f84ece30

7、取参的trick

你可以用*或者**来取出列表或字典作为函数参数

539b4fcc6709621257816cdefc8e06e7f7bd198a

8、Exception else语句

e3ea7dec53919c41c63f17c19a894fef7f8fdc2d

使用“else”比在“try”语句中添加多余的代码更好,因为它避免了意外获取不被try语句保护的异常…除了声明之外。

9、嵌套列表推导式和生成器表达式

[(i,j) for i in range(3) for j in range(i) ]    
((i,j) for i in range(4) for j in range(i) )

这些语句可以取代大量的嵌套循环代码块

10、主要句式

import this

下面让我们再诵读一遍Python之禅的要义(The Zen of Python, by Tim Peters):

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.


原文发布时间为:2016-11-04

本文来自云栖社区合作伙伴“Python中文社区”,了解相关信息可以关注“Python中文社区”微信公众号

相关文章
|
Python
Python隐藏类中的属性
Python隐藏类中的属性自制脑图, 包括封装的优点和隐藏属性 。
100 2
Python隐藏类中的属性
|
程序员 C语言 Python
好玩的 Python 彩蛋
好玩的 Python 彩蛋
116 0
|
数据安全/隐私保护 Python
Python的import this 惊喜彩蛋:Python之禅(The Zen of Python)
Python的import this 惊喜彩蛋:Python之禅(The Zen of Python)
Python的import this 惊喜彩蛋:Python之禅(The Zen of Python)
|
测试技术 数据库 Python
python接口自动化(二十二)--unittest执行顺序隐藏的坑(详解)
大多数的初学者在使用 unittest 框架时候,不清楚用例的执行顺序到底是怎样的。对测试类里面的类和方法分不清楚,不知道什么时候执行,什么时候不执行。虽然或许通过代码实现了,也是稀里糊涂的一知半解,这样还好,好歹自己鼓 捣出了,但是时间和效率并不是很高,下次遇到还是老样子。那么本篇通过最简单案例来给给为小伙伴详细讲解、演示一下 unittest 执行顺序。
263 0
python接口自动化(二十二)--unittest执行顺序隐藏的坑(详解)
|
Web App开发 测试技术
Selenium+python之隐藏浏览器的“Chrome正在受到自动软件的控制“提示语
Selenium+python之隐藏浏览器的“Chrome正在受到自动软件的控制“提示语
365 0
|
存储 人工智能 算法
如何使用 Python 隐藏 API 密钥
如何使用 Python 隐藏 API 密钥
303 0
如何使用 Python 隐藏 API 密钥
|
搜索推荐 数据挖掘 Python
Python分析44130条用户观影数据,挖掘用户与电影之间的隐藏信息!
很多电影也上映,看电影前很多人都喜欢去 **『豆瓣』** 看影评,所以我爬取44130条 **『豆瓣』** 的用户观影数据,分析**用户之间**的关系,**电影之间**的联系,以及**用户和电影之间**的隐藏关系。
340 0
|
17天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
16天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
下一篇
DataWorks