在Python中查找和替换文本

2016-11-08
阅读 3 分钟
17.1k
在Python中查找和替换非常简单,如果当前对象是一个字符串str时,你可以使用该类型提供的find()或者index()方法查找指定的字符,如果能找到则会返回字符第一次出现的索引,如果不存在则返回-1。

Python装饰器的另类用法

2016-11-07
阅读 3 分钟
3.4k
之前有比较系统介绍过Python的装饰器(请查阅《详解Python装饰器》),本文算是一个补充。今天我们一起探讨一下装饰器的另类用法。 语法回顾 开始之前我们再将Python装饰器的语法回顾一下。 {代码...} 等同于: {代码...} @语法的好处在于: 相同的函数名只出现一次,避免了f = decorate(f)这样的语句。 可读性更高,让读...

说说Python中的闭包 - Closure

2016-10-29
阅读 3 分钟
8.7k
在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量能够保持其持久性。—— 维基百科)

详解Python的装饰器

2016-10-29
阅读 10 分钟
7.1k
但是在实际调用中,我们发现程序出错了,上面的代码打印了两个hello。经过调试你发现是say_goodbye()出错了。老板要求调用每个方法前都要记录进入函数的名称,比如这样:

Python中的反转字符串问题

2016-10-23
阅读 2 分钟
2.2k
上面的实现其实已经能满足大多数情况,但是并不完美。比如第二个字符串中的感叹号并没有被翻转,而且原字符串中的空格数量也没有保留。(在上面的例子里其实Hello和World之间不止一个空格)

Python中不尽如人意的断言Assertion

2016-10-22
阅读 4 分钟
10.2k
其实assert看上去不错,然而用起来并不爽。就比如有人告诉你程序错了,但是不告诉哪里错了。很多时候这样的assert还不如不写,写了我就想骂娘。直接抛一个异常来得更痛快一些。