上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 70 下一页
摘要: 最近在写代码时发现一个有趣的地方,当python中的函数使用list作为默认参数且调用时不给其赋值时,无法通过在函数中将其赋值为[]来达到清空此默认参数的目的。按照道理来说,函数f1中的list为局部变量,在下次进入时,其应保持默认值才对。而且list具有可变性,在原内存地址中修改其内容。具体代码如下:def f1(a=[2]): a.append(100) print a a=[] #del a[:] print adef f2(a=[2]): a.append(100) print a #a=[] del a[:] print a... 阅读全文
posted @ 2013-07-14 22:18 myLittleGarden 阅读(1776) 评论(0) 推荐(0)
摘要: import Queue, threading, sys from threading import Thread import time,urllib # working thread class Worker(Thread): worker_count = 0 def __init__( self, workQueue, resultQueue, timeout = 0, **kwds): Thread.__init__( self, **kwds ) ... 阅读全文
posted @ 2013-07-11 16:09 myLittleGarden 阅读(240) 评论(0) 推荐(0)
摘要: 转载自http://www.douban.com/note/134971609/Python 的代码风格由 PEP 8 描述。这个文档描述了 Python 编程风格的方方面面。在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格。这样就易于阅读,易于在程序员之间交流。1. 命名风格总体原则,新编代码必须按下面命名风格进行,现有库的编码尽量保持风格。尽量以免单独使用小写字母'l',大写字母'O',以及大写字母'I'等容易混淆的字母。模块命名尽量短小,使用全部小写的方式,可以使用下划线。包命名尽量短小,使用全部小写的 阅读全文
posted @ 2013-07-11 13:14 myLittleGarden 阅读(2968) 评论(0) 推荐(2)
摘要: 因为在研究爬虫,所以也了解了下域名解析。要提高爬虫的效率,就需要提高域名解析的效率。我将爬虫记录下的域名作为待解析的域名来测试各域名解析方法的效率。我尝试以下四种方法:1. 单线程依次解析各域名,2. 多线程同时解析各域名,3. 线程池解析各域名,4. 使用adns库解析各域名。其中,第四种方法最高效也最安全,推荐大家使用。完整的代码请见:https://github.com/sunada/dnsResolve1. 单线程依次解析域名这种方法最直观。使用一个循环,依次使用socket.getaddrinfo('host',None)来进行解析。这种方法很低效:解析100个域名花 阅读全文
posted @ 2013-07-10 15:39 myLittleGarden 阅读(16743) 评论(2) 推荐(1)
摘要: 1. adns、adns-python库简介adns库是一个可进行异步非阻塞解析域名的库,主要使用C语言编写,在linux平台下运行。使用adns库进行域名解析效率非常,著名的开源网络爬虫larbin就使用adns库进行域名解析。可惜的是,adns库没有说明文档。作者的意思是,adns.h这个文件即可说明这个库的使用方法。非常遗憾,我不太懂dns解析过程中所涉及到的各种细节知识,对C语言的掌握程度也没能达到出神入画的境界,所以,我不得不承认,光凭这个adns.h,我无法知道应该如何使用adns库这一强大的工具。adns-python库是adns库的python扩展。在python程序中,可调用 阅读全文
posted @ 2013-07-08 16:28 myLittleGarden 阅读(5037) 评论(1) 推荐(1)
上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 70 下一页