随笔分类 -  语言_python

摘要:写好了代码,交付给他人使用的时候,查看代码固然可以了解各类和函数的功能细节,但接口文档能更方便的查找和说明功能。所以,一价与代码同步的接口文档是很有必要的。sphinx可以根据python中的注释,自动的生成接口文档,这样有利于保证文档和代码功能的同步。让我们来了解如何自动生成文档。 1. pyth 阅读全文
posted @ 2017-01-19 15:01 myLittleGarden 阅读(4510) 评论(0) 推荐(0) 编辑
摘要:python安装包管理 http://www.cnblogs.com/wilber2013/p/4769467.html python pip安装源管理:pypi官网的源不太好,网速慢,容易造成包下载超时,无法完成安装。可使用国内的镜像作源。临时使用,可用以下命令。这里指定的是豆瓣的镜像。 安装指定 阅读全文
posted @ 2017-01-18 10:56 myLittleGarden 阅读(413) 评论(0) 推荐(0) 编辑
摘要:unittest原理:https://www.jianshu.com/p/c3fd61ac09e9 因为使用unittest进行管理case的运行。有时case因为偶然因素,会随机的失败。通过重试机制能够补充保持case的稳定性。查阅资料后发现,python的unittest自身无失败重试机制,可以 阅读全文
posted @ 2016-11-17 19:09 myLittleGarden 阅读(3717) 评论(1) 推荐(0) 编辑
摘要:1. 什么是beatifulsoup?beatifulsoup官网http://www.crummy.com/software/BeautifulSoup/ BeatifulSoup是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree)。 它... 阅读全文
posted @ 2015-01-19 20:03 myLittleGarden 阅读(6656) 评论(0) 推荐(0) 编辑
摘要:http://www.python.org/dev/peps/pep-0020/ Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't speci... 阅读全文
posted @ 2013-12-19 10:19 myLittleGarden 阅读(184) 评论(0) 推荐(0) 编辑
摘要:1. os这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。一个例子就是使用os.sep可以取代操作系统特定的路径分割符。下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。os.getenv( 阅读全文
posted @ 2013-11-06 22:28 myLittleGarden 阅读(3835) 评论(0) 推荐(1) 编辑
摘要:树是数据结构中常用到的一种结构,其实现较栈和队稍为复杂一些。若树中的所有节点的孩子节点数量不超过2个,则该为一个二叉树。二叉树可用于查找和排序等。二叉树的主要操作有:建树,遍历等。遍历是树中的一个最为重要的操作,可分为深度优先遍历和广度优先遍历。其中,尝试优先遍历又可分为先序遍历,中序遍历和后序遍历。深度优先遍历可使用递规来实现,也可以用栈和队通过循环实现。后序的非递规遍历,比其他两种遍历稍为复杂些。下面给出一个python实现二叉树的例子:class Node(object): def __init__(self, data = -1, lchild = None, rchild = ... 阅读全文
posted @ 2013-09-17 14:19 myLittleGarden 阅读(23870) 评论(1) 推荐(1) 编辑
摘要:队也是编程开发中常见的一种数据结构。栈和队可用来模拟函数的递归过程。队的特点为先入先出,主要操作包括入队和出队。入队时需判断队是否已满,出队时需判断队是否为空。下面给出一个队的python实现的例子:class Queue(object): def __init__(self, size = 8): self.queue = [] self.size = size self.front = 0 self.rear = -1 def isFull(self): return True if self.rear =... 阅读全文
posted @ 2013-09-17 13:57 myLittleGarden 阅读(571) 评论(0) 推荐(0) 编辑
摘要:栈是编程开发中的两种较为简单的数据结构。栈和队可用于模拟函数的递归。栈的特点是后进先出。其常用操作包括:出栈,入栈等。在出栈前,需判断栈是否为空。在入栈时,需判断栈是否已满。下面给出一个用python实现的栈的实例:class Stack(object): def __init__(self, size = 8): self.stack = [] self.size = size self.top = -1 def set_size(self, size): if self.top >= size: ra... 阅读全文
posted @ 2013-09-17 13:51 myLittleGarden 阅读(2200) 评论(0) 推荐(0) 编辑
摘要:1. 什么是单例模式(Singleton pattern)?单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。如在Windows中就只能打开一个任务管理器。如果不使用机制对窗口对象进行唯一化, 阅读全文
posted @ 2013-09-11 22:22 myLittleGarden 阅读(421) 评论(0) 推荐(0) 编辑
摘要:1. 如何反序访问一个序列(how do I iterate over a sequence in reverse order)如果序列是list,则使用list.reverse()即可将序列反序。若不是list,则可以:for i in range(len(sequence)-1, -1, -1): x = sequence[i] 2. python中的类型转化Python中的类型转化较为容易。只需将等转化的对象使为参数传入目标类型即可。如:x = int('1')y = float(1)z = tuple([1, 2, 3])p = list((1, 2, 3))3. py 阅读全文
posted @ 2013-09-10 21:39 myLittleGarden 阅读(364) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/coderzh/archive/2010/04/30/python-cookbook-lambda.htmllambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子:def f(x):return x**2print f(4)Python中使用lambda的话,写成这样g = lambda x : x**2print g(4)lambda表达式在很多编程语言都有对应的实现。那么,lambda表达式有什么用处呢?很多人提出了质疑,lambda和普通的函数相比,就是省去了函数名称而已,同时这样的匿名函数,又不能共享在别的地方调用。其实 阅读全文
posted @ 2013-09-10 21:06 myLittleGarden 阅读(438) 评论(0) 推荐(0) 编辑
摘要:http://developer.51cto.com/art/201007/213585.htm内存管理,对于Python这样的动态语言,是至关重要的一部分,它在很大程度上甚至决定了Python的执行效率,因为在Python的运行中,会创建和销毁大量的对象,这些都涉及到内存的管理。51CTO推荐阅读:对Python特色的详细介绍小块空间的内存池在Python中,许多时候申请的内存都是小块的内存,这些小块内存在申请后,很快又会被释放,由于这些内存的申请并不是为了创建对象,所以并没有对象一级的内存池机制。Python内存池全景这就意味着Python在运行期间会大量地执行malloc和free的操作 阅读全文
posted @ 2013-09-10 20:44 myLittleGarden 阅读(580) 评论(0) 推荐(0) 编辑
摘要:转载自http://www.douban.com/note/134971609/Python 的代码风格由 PEP 8 描述。这个文档描述了 Python 编程风格的方方面面。在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格。这样就易于阅读,易于在程序员之间交流。1. 命名风格总体原则,新编代码必须按下面命名风格进行,现有库的编码尽量保持风格。尽量以免单独使用小写字母'l',大写字母'O',以及大写字母'I'等容易混淆的字母。模块命名尽量短小,使用全部小写的方式,可以使用下划线。包命名尽量短小,使用全部小写的 阅读全文
posted @ 2013-07-11 13:14 myLittleGarden 阅读(2944) 评论(0) 推荐(2) 编辑
摘要:因为在研究爬虫,所以也了解了下域名解析。要提高爬虫的效率,就需要提高域名解析的效率。我将爬虫记录下的域名作为待解析的域名来测试各域名解析方法的效率。我尝试以下四种方法:1. 单线程依次解析各域名,2. 多线程同时解析各域名,3. 线程池解析各域名,4. 使用adns库解析各域名。其中,第四种方法最高效也最安全,推荐大家使用。完整的代码请见:https://github.com/sunada/dnsResolve1. 单线程依次解析域名这种方法最直观。使用一个循环,依次使用socket.getaddrinfo('host',None)来进行解析。这种方法很低效:解析100个域名花 阅读全文
posted @ 2013-07-10 15:39 myLittleGarden 阅读(16710) 评论(2) 推荐(1) 编辑
摘要:转自:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html1. 字符编码简介1.1. ASCIIASCII(American Standard Code for Information Interchange),是一种单字节的编码。计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号。不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础。1.2. MBCS然而计算机世界里很快就有了其他语言,单字节的ASCII已无法满足需求。后来每个语言就制定了一套自己的 阅读全文
posted @ 2013-07-01 20:57 myLittleGarden 阅读(276) 评论(0) 推荐(0) 编辑
摘要:文章主体现部分来自:http://openexperience.iteye.com/blog/1457011. 背景知识如果使用TCP协议来传递数据,客户端和服务器端需要分别经过以下步骤:server: 创建socket - bind(绑定socket到指定地址) - listen(在端口监听来自客户端的连接) - accept(接受客户端的连接请求) - send(向客户端发送数据)- close(关闭此次连接)client: 创建socket - connect(发出服务器连接请求)- receive(接收服务器端发来的数据)- close(关闭此次连接)python官方关于socket的 阅读全文
posted @ 2013-06-19 15:37 myLittleGarden 阅读(5611) 评论(2) 推荐(0) 编辑
摘要:http://www.aqee.net/how-to-become-a-proficient-python-programmer/这篇文章主要是对我收集的一些文章的摘要。因为已经有很多比我有才华的人写出了大量关于如何成为优秀Python程序员的好文章。我的总结主要集中在四个基本题目上:函数式编程,性能,测试,编码规范。如果一个程序员能将这四个方面的内容知识都吸收消化,那他/她不管怎样都会有巨大的收获。函数式编程命令式的编程风格已经成为事实上的标准。命令式编程的程序是由一些描述状态转变的语句组成。虽然有时候这种编程方式十分的有效,但有时也不尽如此(比如复杂性) —— 而且,相对于声明式编程方式, 阅读全文
posted @ 2013-06-17 12:40 myLittleGarden 阅读(378) 评论(0) 推荐(0) 编辑
摘要:1、使用python的库urllib2,用到urlopen和Request方法。2、方法urlopen原形urllib2.urlopen(url[, data][, timeout])其中:url表示目标网页地址,可以是字符串,也可以是请求对象Requestdata表示post方式提交给目标服务器的参数timeout表示超时时间设置改方法返回一个类似文件的对象,有geturl()、info()、read()方法其中geturl()返回连接地址,info()返回网页信息。要获取网页内容可以使用read()方法,read也可以带参数,表示读取内容的大小(字节)。>>>import 阅读全文
posted @ 2013-05-25 18:49 myLittleGarden 阅读(831) 评论(0) 推荐(0) 编辑
摘要:(转自:http://blog.163.com/code_fantasitic0/blog/static/187050004201262015616549/)学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过 自动收邮件的脚本,写过简单的验证码识别的脚本,本来想写google music的抓取脚本的,结果有了强大的gmbox, 也就不用写了。-这些脚本有一个共性,都是和web相关的,总要用到获取链接的一些方法,再加上simplecd这 个半爬虫半网站的项目,累积不少爬虫抓站的经验,在此总结一下,那么以后做东 阅读全文
posted @ 2013-05-25 18:26 myLittleGarden 阅读(386) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示