随笔分类 -  python

Python Programming
python中迭代器和生成器
摘要:1 l=[1,2,3,4]2 3 for n in l:4 print n在看上面这段代码的时候,我们没有显式的控制列表的偏移量,就可以自动的遍历了整个列表对象。那么for 语句是怎么来遍历列表l的呢?要回答这个问题,我们必须首先来看一下迭代器相关的知识。1.迭代器迭代器对象要求支持迭代器协议,所谓支持迭代器协议就是对象包含__iter__()和next()方法。其中__iter__()方法返回迭代器对象自己;next()方法返回下一个前进到下一个结果,在结尾时引发StopIteration异常。列表不是迭代器对象,但是列表通过__iter__()可以得到一个迭代器对象来遍历整个列表... 阅读全文

posted @ 2013-12-02 00:04 micky.zhou 阅读(215) 评论(0) 推荐(0)

Python 的 and-or 技巧
摘要:布尔上下文在 Python 中,可以在布尔上下文中使用几乎所有类型的表达式。通常的数据类型的“空值”都为 False。None为假值数值0,0.0等为假值空串""为假值空列表[]为假值空元组()为假值...逻辑演算在 Python 中,and 和 or 按照下面的规则执行布尔逻辑演算:对于 and,从左到右运算:如果所有表达式都为真,则 and 返回最后一个表达式。否则,and 返回第一个假值。对于 or,从左到右运算:如果有一个为真,则 or 立刻返回该值。否则,or 返回最后一个表达式。or 找到第一个真值后会忽略计算剩余的表达式。注意到:返回的并不是布尔值,而是其中某 阅读全文

posted @ 2013-05-21 21:12 micky.zhou 阅读(337) 评论(0) 推荐(0)

深刻理解Python中的元类(metaclass)
摘要:译注:这是一篇在Stack overflow上很热的帖子。提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解。他知道这肯定和自省有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理解,以及在什么情况下需要进行元编程。于是e-satis同学给出了神一般的回复,该回复获得了985点的赞同点数,更有人评论说这段回复应该加入到Python的官方文档中去。而e-satis同学本人在Stack Overflow中的声望积分也高达64271分。以下就是这篇精彩的回复(提示:非常长)类也是对象在理解元类之前,你需要先掌握Python 阅读全文

posted @ 2013-03-25 08:00 micky.zhou 阅读(1958) 评论(0) 推荐(0)

Django,数据模型创建之数据库API参考
摘要:一旦 数据模型 创建完毕, 自然会有存取数据的需要.本文档介绍了由 models 衍生而来的数据库抽象API,及如何创建,得到及更新对象.贯穿本参考, 我们都会引用下面的民意测验(Poll)应用程序:class Poll(models.Model): slug = models.SlugField(unique_for_month='pub_date') question = models.CharField(maxlength=255) pub_date = models.DateTimeField() expire_date = models.DateTimeFie... 阅读全文

posted @ 2013-03-15 17:04 micky.zhou 阅读(11832) 评论(0) 推荐(0)

导航