摘要: 迭代器是一个对象,而生成器是一个函数,迭代器和生成器是python中两个非常强大的特性,编写程序时你可以不使用生成器达到同样的效果,但是生成器让你的程序更加pythonic。创建生成器非常简单,只要在函数中加入yield语句即可。函数中每次使用yield产生一个值,函数就返回该值,然后停止执行,等待 阅读全文
posted @ 2016-02-22 15:25 侠之大者kamil 阅读(283) 评论(0) 推荐(0)
摘要: 就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。使用这个小型语言,你可以为想要匹配的相应字符串集指定规则; 正则表达式模式被编译成一系列的字节码,然後由用 C 编写的匹配引擎执行。在高级用法中,也许还要仔细留 阅读全文
posted @ 2016-02-22 14:46 侠之大者kamil 阅读(169) 评论(0) 推荐(0)
摘要: 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。 __iter__ 如果一个类想被用于for ... in循环,类似list或tuple那样,就必须实现一个__iter__()方法,该方法返回一个迭代对象,然后,Python的for循环就 阅读全文
posted @ 2016-02-22 12:07 侠之大者kamil 阅读(3853) 评论(1) 推荐(0)
摘要: 一个实现了_iter_方法的对象是可迭代的,一个实现了 next 方法的对象则是迭代器。 class Fibs: def __init__(self): self.a = 0 self.b = 1 def __next__(self): #def next(self): 如果写成这样会报错 Type 阅读全文
posted @ 2016-02-22 09:37 侠之大者kamil 阅读(181) 评论(0) 推荐(0)