Python
文章平均质量分 89
dolphin98629
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
20本最好的免费的Python书籍
想要学习Python编程语言的读者有大量相关书籍可供选择,有印刷版也有电子版,而Python是一门开源的编译语言,开发者也提供了不少免费可自由下载的Python电子书。本文挑选其中最优秀的 20本Python电子书,内容覆盖了Python的一般介绍,游戏开发,编程技巧,儿童编程学习等类别,它们大多数都采用了创作共用署名非商业许可证,如《T hink Python》、《 Invent You转载 2016-09-06 11:36:00 · 17646 阅读 · 1 评论 -
Python正则表达式
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的转载 2015-07-03 16:50:28 · 359 阅读 · 0 评论 -
Python操作MySQL数据库
坚持每天学一点,每天积累一点点,作为自己每天的业余收获,这个文章是我在吃饭的期间写的,利用自己零散的时间学了一下python操作MYSQL,所以整理一下。我采用的是MySQLdb操作的MYSQL数据库。先来一个简单的例子吧:12345678910import My转载 2015-07-10 12:19:42 · 387 阅读 · 0 评论 -
分布式进程
在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。一个服务进程可以作为调度者,将任务分布到其他多个进程中,依靠网络通信。由于managers转载 2015-07-03 10:33:52 · 534 阅读 · 0 评论 -
Python基础教程笔记——抽象
抽象1 懒惰即美德例子: 1: #Fibonacci数列函数 2: def fibo(x): 3: if x < 2: 4: return; 5: result = [0, 1] 6: for i in range(x - 2): 7: re转载 2015-06-11 10:12:18 · 378 阅读 · 0 评论 -
Python基础教程笔记——列表和元组
列表和元组Table of Contents1 序列概览2 通用序列操作2.1 索引2.2 分片2.3 序列相加2.4 乘法2.5 成员资格2.6 长度,最大值,最小值3 列表:Python的“苦力”3.1 list3.2 基本列表操作3.3 列表方法4 元组4.1 元组定义:4.2转载 2015-06-11 09:42:52 · 447 阅读 · 0 评论 -
Python多线程
多任务可以由多进程完成,也可以由一个进程内的多线程完成。我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程。Python的标准库提供了两个模块:thread和threading,threa转载 2015-07-01 17:32:36 · 487 阅读 · 0 评论 -
Python文档测试
如果你经常阅读Python的官方文档,可以看到很多文档都有示例代码。比如re模块就带了很多示例代码:>>> import re>>> m = re.search('(?, 'abcdef')>>> m.group(0)'def'可以把这些示例代码在Python的交互式环境下输入并执行,结果与文档中的示例代码显示的一致。这些代码与其他说明可以写在注释中,然后,由一些工具来转载 2015-07-01 13:56:00 · 940 阅读 · 1 评论 -
Python基础教程笔记——基础知识
基础知识Table of Contents1 除法 1.1 除号-/说明: / 是除法符号,两个整型数相除,如果商不是整数,会显示小数。注意:商虽然是小数,但是最后一位不会做四舍五入运算。例子:>>> 1/30.3333333333333333>>> 2/30.6666666666666666转载 2015-06-11 10:04:02 · 299 阅读 · 0 评论 -
Python基础教程笔记——条件,循环和其他语句
条件,循环和其他语句Table of Contents1 print和import的更多信息1.1 使用逗号输出1.2 把一些东东作为另一些东东导入2 赋值魔法2.1 序列解包2.2 链式赋值2.3 增量赋值3 语句块:缩排的乐趣4 条件和条件语句4.1 这就是布尔变量的作用4.2 条件执行和if语转载 2015-06-11 10:02:07 · 435 阅读 · 0 评论 -
Python WSGI接口
了解了HTTP协议和HTML文档,我们其实就明白了一个Web应用的本质就是:浏览器发送一个HTTP请求;服务器收到请求,生成一个HTML文档;服务器把HTML文档作为HTTP响应的Body发送给浏览器;浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。所以,最简单的Web应用就是先把HTML用文件保存好,用一个现成的转载 2015-07-06 17:21:36 · 483 阅读 · 0 评论 -
Python TCP编程
Socket是网络编程的一个抽象概念。通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可。客户端大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。举个例子,当我们在浏览器中访问新浪时,我们自己的计算机就是客户端,浏览器会主动向新浪的服务器发起连接转载 2015-07-06 16:22:46 · 694 阅读 · 0 评论 -
Python 使用Web框架
了解了WSGI框架,我们发现:其实一个Web App,就是写一个WSGI的处理函数,针对每个HTTP请求进行响应。但是如何处理HTTP请求不是问题,问题是如何处理100个不同的URL。每一个URL可以对应GET和POST请求,当然还有PUT、DELETE等请求,但是我们通常只考虑最常见的GET和POST请求。一个最简单的想法是从environ变量里取出HTTP请求的信息,然转载 2015-07-07 14:01:49 · 782 阅读 · 0 评论 -
向Python女神推荐这些年我追过的经典书籍
最近"瑞丽模特学Python"的热点牵动了大江南北程序员的心,有人说这是炒作,也有人说这是推广Python的爆点。。。我嘿嘿一笑,美女就是美女,眼光那是杠杠的,不仅人美,学的语言也美。那咱也不能藏私,必须得把我读过的Python好书向女神推荐一下...... 记得我毕业面试现在这家公司的时候(偶是13年毕业),当时面试官看到我简历上写熟悉Python时,特地问了我Python的情况,转载 2016-09-06 10:23:20 · 5065 阅读 · 1 评论 -
关于python 的@操作符 (Decorator) 的用法
直接翻译过来应该叫做 装饰符吧,不知是不是python特有的用法,看了下说明,艰难的弄明白了一些运作的原理。简单的说,@操作符是用来提供调用的,光是说明可能无法理解,写了一个小小的例子:def f1(arg): print "f1" rl = arg() print rl return rl + "f1" @f1转载 2016-09-12 09:39:07 · 698 阅读 · 0 评论 -
详细Python修饰器Decorator的函数式编程
Python 的 Decorator在使用上和Java/C#的Annotation很相似,就是在方法名前面加一个@XXX注解来为这个方法装饰一些东西。但是,Java/C#的Annotation也很让人望而却步,太TMD的复杂了,你要玩它,你需要了解一堆Annotation的类库文档,让人感觉就是在学另外一门语言。而Python使用了一种相对于Decorator Pattern和Annota转载 2016-09-12 09:32:46 · 406 阅读 · 0 评论 -
Python gevent协程
Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。gevent是第三方库,通过greenlet实现协程,其基本思想是:当一个greenlet遇到IO操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成,再在适当的时候切换回来继续执行。由于IO操作非常耗时,经常使程序处于等待状态,有了ge转载 2015-07-07 14:23:36 · 559 阅读 · 0 评论 -
理解Python的With语句
With语句是什么?Python’s with statement provides a very convenient way of dealing with the situation where you have to do a setup and teardown to make something happen. A very good example for this is the转载 2015-07-06 15:28:16 · 367 阅读 · 0 评论 -
浅谈 Python 的 with 语句
引言with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能(2.5 版本中要通过 from __future__ import with_statement 导入后才可以使用),从 2.6 版本开始缺省可用(参考 What's new in Python 2.6?中 with 语句相关部分介绍)。with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生转载 2015-07-06 15:41:16 · 401 阅读 · 0 评论 -
Python UDP编程
TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据。相对TCP,UDP则是面向无连接的协议。使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包。但是,能不能到达就不知道了。虽然用UDP传输数据不可靠,但它的优点是和TCP比,速度快,对于不要求可靠到达的数据,就可以使用UDP协议。我们来看看如何通过UDP协议传输数据。和TCP类似,转载 2015-07-06 16:59:13 · 906 阅读 · 0 评论 -
Python单例模式的4种实现方法
[python] view plaincopy#-*- encoding=utf-8 -*- print '----------------------方法1--------------------------' #方法1,实现__new__方法 #并在将一个类的实例绑定到类变量_instance上, #如果cls._instance为Non转载 2015-07-06 13:55:16 · 422 阅读 · 0 评论 -
Python使用模板
Web框架把我们从WSGI中拯救出来了。现在,我们只需要不断地编写函数,带上URL,就可以继续Web App的开发了。但是,Web App不仅仅是处理逻辑,展示给用户的页面也非常重要。在函数中返回一个包含HTML的字符串,简单的页面还可以,但是,想想新浪首页的6000多行的HTML,你确信能在Python的字符串中正确地写出来么?反正我是做不到。俗话说得好,不懂前端的Python工转载 2015-07-07 14:11:11 · 945 阅读 · 0 评论 -
Python基础教程笔记——使用字符串
使用字符串Table of Contents1 基本字符串操作2 字符串格式化:精简版2.1 用字符串格式化操作符2.2 用string的Template格式化字符串3 字符串格式化:完整版3.1 转换说明符3.2 简单转换3.3 字段宽度和精度3.4 符号,对齐和 0 填充4 字符串方法4.1 f转载 2015-06-11 09:41:34 · 368 阅读 · 0 评论 -
Python单元测试
如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生。单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。比如对函数abs(),我们可以编写出以下几个测试用例:输入正数,比如1、1.2、0.99,期待返回值与输入相同;输入负数,比如-1、-1.2、-0.99,期待返回值与输入相反;转载 2015-07-01 10:50:48 · 466 阅读 · 0 评论 -
Python调试
程序能一次写完并正常运行的概率很小,基本不超过1%。总会有各种各样的bug需要修正。有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,需要一整套调试程序的手段来修复bug。第一种方法简单直接粗暴有效,就是用print把可能有问题的变量打印出来看看:# err.pydef foo(s): n = int转载 2015-06-30 17:33:23 · 132 阅读 · 0 评论 -
Python __slots__
python新模式的class,即从object继承下来的类有一个变量是__slots__,slots的作用是阻止在实例化类时为实例分配dict,默认情况下每个类都会有一个dict,通过__dict__访问,这个dict维护了这个实例的所有属性,举例如下class base(object): v = 1 def __init__(self): pass转载 2015-06-26 17:26:30 · 509 阅读 · 0 评论 -
Python的getattr(),setattr(),delattr(),hasattr()
getattr()函数是Python自省的核心函数,具体使用大体如下:获取对象引用getattrGetattr用于返回一个对象属性,或者方法class A: def __init__(self): self.name = 'zhangjing' #self.age='24' def meth转载 2015-06-26 17:28:21 · 404 阅读 · 0 评论 -
Python之dir()与__dict__的区别
原文 http://www.cnblogs.com/ifantastic/p/3768415.html首先需要知道的是,dir()是Python提供的一个API函数,dir()函数会自动寻找一个对象的所有属性,包括搜索__dict__中列出的属性。不是所有的对象都有__dict__属性。例如,如果你在一个类中添加了__slots__属性,那么这个类的实例将不会拥有__dict转载 2015-06-25 17:32:11 · 827 阅读 · 0 评论 -
Python特殊属性和方法的运用
用__dict__把dict转换为对象的属性1 class Messenger:2 def __init__(self, **kwargs):3 self.__dict__ = kwargs4 5 6 m = Messenger(info="some information", b=[’a’, ’list’])7 m.more = 118 prin转载 2015-06-25 15:48:28 · 492 阅读 · 0 评论 -
Python处理JSON
概念序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON、XML等。反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象。JSON(JavaScript Object Notation):一种轻量级数据交换格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是转载 2015-06-25 15:29:05 · 385 阅读 · 0 评论 -
Json概述以及python对json的相关操作
什么是json:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家转载 2015-06-25 15:37:01 · 455 阅读 · 0 评论 -
Python数据结构之——字典
字典字典中的键是唯一的,而值不是唯一的,空字典--->{ }创建字典?123456users={'Coder': 111,'Info': 222}# 直接赋值创建的方式 lst=[('Coder','转载 2015-06-01 10:05:21 · 577 阅读 · 0 评论 -
小结两种在Python中导入C语言扩展库的方法
一种是Python文档的推荐方案,采用C API扩展写法:在D:建一个add.c文件,输入[cpp] view plaincopy//add.c // #include ; static PyObject* add(PyObject *self, PyObject *args); //一定声明转载 2015-05-29 16:35:30 · 1736 阅读 · 0 评论 -
Python自定义函数的创建、调用和函数的参数详解
这篇文章主要介绍了Python自定义函数的创建、调用和函数的参数、变量作用域等常见问题,需要的朋友可以参考下函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创见函数,这被叫做用户自定义函数。一、定义一个函数你可以定义一个由自己想要功能的函转载 2015-05-29 15:57:07 · 2606 阅读 · 0 评论 -
Python装饰器
由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。>>> def now():... print '2013-12-25'...>>> f = now>>> f()2013-12-25函数对象有一个__name__属性,可以拿到函数的名字:>>> now.__name__'now'>>> f.__name__'now'转载 2015-06-29 16:46:51 · 341 阅读 · 0 评论 -
Python 使用@property
在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改:s = Student()s.score = 9999这显然不合逻辑。为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数:class Student(ob转载 2015-06-30 08:50:01 · 353 阅读 · 0 评论 -
Python多重继承
继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。回忆一下Animal类层次的设计,假设我们要实现以下4种动物:Dog - 狗狗;Bat - 蝙蝠;Parrot - 鹦鹉;Ostrich - 鸵鸟。如果按照哺乳动物和鸟类归类,我们可以设计出这样的类的层次:但是如果按照“能跑”和“能飞”来归类,我们就应该设计出这样的类的层次:转载 2015-06-30 09:23:30 · 427 阅读 · 0 评论 -
Python多进程
要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID。转载 2015-07-01 15:40:47 · 380 阅读 · 0 评论 -
Python序列化
在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict:d = dict(name='Bob', age=20, score=88)可以随时修改变量,比如把name改成'Bill',但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的'Bill'存储到磁盘上,下次重新运行程序,变量又被初始化为'Bob'。我们把变量从内存中变成可存储或传输的过转载 2015-07-01 15:20:27 · 404 阅读 · 0 评论 -
Python基础教程笔记——字典:当索引不好用时
字典:当索引不好用时Table of Contents1 字典定义:2 字典的使用:3 创建和使用字典3.1 dict函数3.2 基本字典操作3.3 用字典格式化字符串3.4 字典方法3.4.1 clear3.4.2 copy3.4.3 fromekeys3.4.4 get3.4.5 has_key3.4.转载 2015-06-11 09:44:43 · 469 阅读 · 0 评论
分享