生成器和普通函数有些区别,比如生成器不用return返回,而用yield来返回一系列元素
除非“召唤”生成器的next(),否则函数体里面不会执行任何代码块,上下文环境保存着。
虽然不需要明确定义__iter__()和next()方法,但是它本身包含这个方法。
当想要结束一个协程时,使用close()方法即可,close会在协程中引发GeneratorExit异常,这时候可以通过try/ex...
分类:
编程语言 时间:
2014-05-10 09:53:34
阅读次数:
317
正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:
>>> class Student(object):
... pass
...
然后,尝试给实例绑定一个属性:
>>> s = Student()
>>> s.name = 'Michael' # 动态给实例绑定一个属性
>>> pr...
分类:
其他好文 时间:
2014-05-10 09:10:48
阅读次数:
331
基本概念
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式(
文件存储格式为BSON(一种JSON的扩展))。Mongo使用C++开发。Mongo的官方网站地址是:http://www.mong...
分类:
数据库 时间:
2014-05-07 19:53:39
阅读次数:
572
最近看了下多进程。一种接近底层的实现方法是使用
os.fork()方法,fork出子进程。但是这样做事有局限性的。比如windows的os模块里面没有 fork()
方法。windows:。linux:另外还有一个模块:subprocess。这个没整过,但从vamei的博客里看到说也同样有局限性。所...
分类:
编程语言 时间:
2014-05-07 18:26:17
阅读次数:
516
1、变量名压缩 class 语句内开头
有两个下划线,但结尾没有两个下划线的变量名会自动扩张,从而包含所在类的名称。例如:象spam类内__x这样的变量名会自动变成
_spam__x.原始的变量名会在开头家一个下划线,然后是再加上所在类的类名。这一规则适用了每个开头有两...
分类:
编程语言 时间:
2014-05-07 17:51:25
阅读次数:
493
mongodb的读写分离使用Replica Sets来实现对于replica set
中的secondary 节点默认是不可读的。在写多读少的应用中,使用Replica
Sets来实现读写分离。通过在连接时指定或者在主库指定slaveOk,由Secondary来分担读的压力,Primary只承担写操...
分类:
数据库 时间:
2014-05-07 09:31:37
阅读次数:
531
为了实现验证码的功能,使用了PIL。结果出现各种问题:先是"ImportError: The
_imagingft C module is not
installed",google了很长时间,在公司windows下不知怎么卸载又安装PIL居然好了,但却不知道到底怎么回事,稀里糊涂的验证码就可以出来...
分类:
编程语言 时间:
2014-05-07 09:21:14
阅读次数:
425
lances 是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python
语言开发,能够监视 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息。本文介绍 glances 的使用方法和技巧,帮助 Linux
系统管理员了解掌握服务器性能。1评论:曹 元其, 软件...
分类:
其他好文 时间:
2014-05-06 13:52:32
阅读次数:
366
地理位置索引支持是MongoDB的一大亮点,这也是全球最流行的LBS服务foursquare
选择MongoDB的原因之一。我们知道,通常的数据库索引结构是B+
Tree,如何将地理位置转化为可建立B+Tree的形式,下文将为你描述。首先假设我们将需要索引的整个地图分成16×16的方格,如下图(左下...
分类:
数据库 时间:
2014-05-06 13:51:06
阅读次数:
341
最近学习python,想要找点练习,在看《python核心编程》(真是一本好书,非常详细,觉得看这一本书就够了,余下可以翻翻文档)。觉得cf之类的虽然能用python提交但是重点不是在学习python上
。终于找到了两个不错的网站checkio和pythonchallenge。今天先看看了看chec...
分类:
Web程序 时间:
2014-05-06 13:06:04
阅读次数:
517