2013年12月2日

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 阅读(210) 评论(0) 推荐(0) 编辑

2013年5月21日

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 阅读(323) 评论(0) 推荐(0) 编辑

2013年5月14日

cookie和session--转载学习

摘要: 由于项目需要,最近用session容器比较多,传载的同时加上了自己的一些理解,不足之处还请大家补充和纠正。一、cookie机制和session机制的区别*************************************************************************************Cookie是客户端的存储空间,由浏览器来维持。具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie 阅读全文

posted @ 2013-05-14 19:03 micky.zhou 阅读(167) 评论(0) 推荐(0) 编辑

shelve-对象持久存储

摘要: 1.概念:shelve模块使用一种类字典的API,可以持久存储可pickle的任意python对象。当不需要关系数据库的时候,shelve模块可以用作Python对象的的一个简单的持久存储选择,类似与字典,shelf要按键来访问,值将被pickle并写至anydbm创建和管理的数据库。什么是shelf? 类似与python内置类型字典(This is initialized with a dictionary-like object.),当创建了数据之后,如果再次访问数据,可以打开shelf,像字典一样使用。2.小例子加深理解默认情况下,shelf不会跟踪可变对象的修改。1 >>& 阅读全文

posted @ 2013-05-14 11:41 micky.zhou 阅读(322) 评论(0) 推荐(0) 编辑

2013年3月25日

深刻理解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 阅读(1956) 评论(0) 推荐(0) 编辑

2013年3月15日

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 阅读(11802) 评论(0) 推荐(0) 编辑

2012年10月8日

c++ static学习

摘要: 1、什么是static? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。 2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一 个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅受此 函数控制)。 3、什么时候用static? 需要一个数据对象为整个类而非某个对象服务,同时又力求不... 阅读全文

posted @ 2012-10-08 09:36 micky.zhou 阅读(182) 评论(0) 推荐(0) 编辑

2012年9月10日

成员指针

摘要: C++中,成员指针是最为复杂的语法结构。但在事件驱动和多线程应用中被广泛用于调用回叫函数。在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数。在这样的应用中,如果不用成员指针,编程是非常困难的。 刚遇到这种语法时也许会让你止步不前。但你会发现,使用恰当的类型定义之后,复杂的语法是可以简化的。本文引导你了解成员函数指针的声明,赋值和调用回叫函数。 成员函数指针的声明 一个成员函数指针包括成员函数的返回类型,后随::操作符类名,指针名和函数的参数。初看上去,语法有点复杂。其实可以把它理解为一个指向原函数的指针,格式是:函数返回类型,类名,::操作符,指针星号,指针名,函... 阅读全文

posted @ 2012-09-10 21:48 micky.zhou 阅读(208) 评论(0) 推荐(0) 编辑

2012年8月18日

运算符的优先级问题

摘要: Using procedure rules, evaluate the following expressions and determine the value ofthe variable(without running the code).Also rewrite them using parenthesis to make theorder explicit.Assume (x=0xFF33,MASK=0xFF00) Expression: c=x&MASK==0;Assume(x=10,y=2,z=2).Expression:z=y=x+-+++y*2;Assume(x=10 阅读全文

posted @ 2012-08-18 10:30 micky.zhou 阅读(208) 评论(0) 推荐(0) 编辑

2012年8月17日

char类型内存存储和加减问题

摘要: 今天处理一些char类型存储的一些问题,附上所分析的源代码 1 #include<stdio.h> 2 3 int main(int argc,char *argv[]) 4 { 5 6 char cA; 7 unsigned char ucB; 8 unsigned short usC; 9 cA = 128;10 ucB = 128;11 12 usC = cA+ucB;13 printf("0x%x\n",usC);14 15 usC=cA+(short)ucB;16 printf("0x%x\n",usC);1... 阅读全文

posted @ 2012-08-17 08:05 micky.zhou 阅读(2200) 评论(0) 推荐(0) 编辑

导航