python
文章平均质量分 59
hexiaodouaipiqiu
这个作者很懒,什么都没留下…
展开
-
python 多线程简介
多线程和多进程是什么自行google补脑 对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂。所以,这里力图用简单的例子,让你对多线程有个初步的认识。 单线程 在好些年前的MS-DOS时代,操作系统处理问题都是单任务的,我想做听音乐和看电影两件事儿,那么一定要先排一下顺序。(好吧!我们不纠结在DOS时代是否有听音乐和转载 2015-12-30 23:23:19 · 421 阅读 · 0 评论 -
python range和xrange的用法
发现原来range和xrange的参数的用法与切片有点相似,参数args(start, [stop, [step)撸代码用起来(range和xrange的用法一致)lst = []for i in xrange(10): lst.append(i)print lstprint "="*30, 'xrange(10)' lst = []原创 2016-05-22 23:53:54 · 504 阅读 · 0 评论 -
python virtualenv的基本使用
virtualenv原创 2016-09-20 21:55:14 · 390 阅读 · 0 评论 -
python 属性四种管理方法property,descriptor, __get/setattr__, __getatribute __
python 属性四种管理方法property,descriptor, __get/setattr__, __getatribute __原创 2016-11-06 11:57:04 · 1419 阅读 · 0 评论 -
python中类方法,静态方法和实例方法的区别
字面上理解:类方法:只能类调用实例方法:只能实例调用静态方法:类和实例都能调用是不是真的这样呢?写代码试试class Multi(object): def imeth(self,x): print self,x @staticmethod def smeth(x): pri原创 2016-05-17 00:40:03 · 715 阅读 · 0 评论 -
python property的使用
经常在python程序里看到,@property 这个东西,到底用来做什么的。主要就是用来把方法变成属性调用,也就是是更pythonic。将一个方法变为只读对象class Test(object): def __init__(self, para): self.para = para @property def only_para(s原创 2016-10-27 00:16:22 · 345 阅读 · 0 评论 -
python descriptor 官方文档指引[翻译]
python descriptor 官方文档指引[翻译]翻译 2016-10-18 00:10:43 · 444 阅读 · 0 评论 -
ubuntu 安装memcache及启动
python memcache原创 2016-11-01 23:42:14 · 2842 阅读 · 0 评论 -
django Q方法
一般在django中查询数据库都是用queryset方法,当查询条件比较多的时候,Q对象的作用就显现了,他能让代码 更可读逻辑更清晰。深度先不研究,主要看看如何用的。category_articles = Article.objects.filter( Q(category_id=category.id) &原创 2016-11-20 17:28:35 · 2781 阅读 · 0 评论 -
github ICLA
当给一些比较知名的项目贡献代码时候,一般需要签署一些协议,然后提交的patch才能被merge.最近给apache下的libcloud提交代码就碰到这事儿了。Contributing Bigger ChangesIf you are contributing a bigger change (e.g. large new feature or a newprovider dri原创 2016-11-20 22:26:57 · 832 阅读 · 0 评论 -
如何参与python的开源项目(上)
最近给apache 下的libcloud 项目提交了几个bug和patch,然后看到了一遍不错的指引,详细包括了编码规范及提交工作流程。见链接:https://libcloud.readthedocs.io/en/latest/development.html#contributing-bigger-changes翻译一下。代码风格遵循PEP8规范使用四个空格缩紧每原创 2016-11-21 11:36:42 · 1351 阅读 · 0 评论 -
python 装饰器
装饰器可以理解成包礼物的过程,假设我买了一辆遥控车要送给孩子,然后精心包装。那么核心功能(遥控车)没有变化,而包装盒子可以用随意自己想要的,也叫语法糖。 应用场景:装饰器能把一个核心函数保持功能不变而添加很多附属功能,比如打印日志,加测试代码,加一些共性的配置,一个函数可以用不同装饰器,一个装饰器也可以用于不同函数,空间还是蛮大的。试试看def decorator(f原创 2016-06-02 23:49:54 · 438 阅读 · 0 评论 -
python 闭包
闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。试试看def outer_func(a, b): de原创 2016-06-02 23:26:23 · 253 阅读 · 0 评论 -
UnicodeEncodeError: ‘ascii’ codec can’t encode characters
默认的编码格式是ascii,当用其他的编码格式超出128的时候,就会报如题所错,解决办法就是改掉默认编码格式,怎么改呢?加上如下三行代码import sys reload(sys) sys.setdefaultencoding('utf8') 看看效果print sys.getdefaultencoding()看到默认编码已经变成utf8了转载 2016-05-20 09:41:51 · 337 阅读 · 0 评论 -
安装PIL库
1、下载PIL的Source Kit(因为这个包支持全部平台) Imaging--1.1.6.tar.gz URL: http://www.pythonware.com/products/pil/index.htm2、解压缩包 tar -zxvf Imaging-1.1.6.tar.gz3、进入到解压后的目录 cd Imaging-1.1.64、Build pak转载 2015-12-21 23:48:40 · 673 阅读 · 0 评论 -
ubuntu安装多版本python
想灵活用多个版本,pyenv工具还是不错可以用$ pyenv global 3.4.3随时切换默认版本系统环境:ubuntu14.04LTS,系统默认的python版本为2.7,我这里想要再安装一个3.4.3版本。再安装python之前,我们首先要安装这个管理工具pyenv:$ git clone git://github.com/yyuu/pyen转载 2016-05-30 23:55:19 · 280 阅读 · 0 评论 -
python *args,**kwargs使用
经常见到*args,**kwargs 在代码里出现。话不多说,先写代码def kwargs_test(para, **kwargs): print para for key, value in kwargs.iteritems(): print key, value def args_test(para,原创 2016-05-17 23:44:04 · 339 阅读 · 0 评论 -
python 生成器yield
yield是比较常用的,解释一下这个东西是用来做什么的。了解的话,在迭代数字的时候会有两个函数 range(列表类型)和xrange(生成器),两者用法是一样话不多说,先写代码import time #用于计算耗时start_1 = time.clock()for i in xrange(10000): passend_1 = time.clock()pr原创 2016-05-18 00:37:49 · 527 阅读 · 0 评论 -
python 的super使用
当子类需要调用父类的方法时,使用场景最广的应该是继承父类的析构函数(子类也谢了析构函数,并且需要继承父类的析构时可以super一下将父类的析构继承到子类),其余的如果要改写子类的函数(且子类的这个函数和父类同名,并且用到了父类该同名函数)才会去用到super吧?(要调父类的方法直接就可以继承下来用self.fuction()就可以调用了,想知道一下super的,其他应用场景)上一段代码(爷爷,原创 2016-05-19 00:08:12 · 516 阅读 · 0 评论 -
python pdb调试
PDB (说明文档: http://docs.python.org/2/library/pdb.html)一直把pdb注入代码去调试,有点麻烦,有其他更好的调试工具么?方法:运行Python-m pdb myscript.py(Pdb) 会自动停在第一行,等待调试,这时你可以看看 帮助(Pdb) h说明下这几个关键 命令>断点设置 (Pdb)b转载 2016-05-31 23:31:04 · 275 阅读 · 0 评论 -
如何参与开源项目(下)
1. 在邮件列表里开启一个新的讨论 如果有需要实现比较大的更改,先要去邮件列表里讨论2. 开一个issue 开一个新的issue。 将用作您所做更改的总括。 也用于跟踪进度和讨论实施细节。3. 拉一个fork 这个fork将用来维护自己的更改4. 创建一个分支git checkout -b _5. 在分支上更改6. 为更改写测试,并确定所有测试原创 2016-11-21 11:58:38 · 468 阅读 · 0 评论