Python学习笔记 字符串拼接

2017-04-04
阅读 1 分钟
2.6k
我们想要将str1和str2拼接在一起,自然而然的想到使用+号。但是如果是+计算具有一定的问题,就是当拼接>2条字符串的时候,每做一次拼接,就会在内存中开辟一个空间用于存储拼接的字符串。然后再将该字符串与后一个字符串拼接。如此持续下去。

python 中type和object的关系

2017-04-04
阅读 1 分钟
7.6k
那么type和object是什么关系呢?object是一个新式类,我们可以通过object.__class__和object.__bases__来获取object所属的类核他的父类。

python学习笔记 - ThreadLocal

2017-02-12
阅读 2 分钟
3k
例如下列程序中task()函数中定义的count变量就是局部变量。即使我们创建了两个线程,两者的count递增也不会相互影响,因为count是在task中定义的。

爬虫养成记 - urllib2的HTTPCookieProcessor

2017-01-30
阅读 4 分钟
8.9k
很多网站的资源需要用户登录之后才能获取。我们一旦登录后再访问其他被保护的资源的时候,就不再需要再次输入账号、密码。那么网站是怎么办到的呢?一般来说,用户在登录之后,服务器端会为该用户创建一个Session。Session相当于该用户的档案。该档案就代表着该用户。那么某一次访问请求是属于该用户呢?登录的时候服务...

爬虫养成记 - urllib2的调试和错误处理

2017-01-29
阅读 2 分钟
3.8k
urllib2的timeout timeout参数用于设置超时。我们在爬取一些响应较慢的网站的时候,需要设置一个比较长的超时时间。 {代码...} 上述代码设置timeout为10秒。 设置Debug {代码...} URLError和HTTPError处理 事实上,并不是所有urllib2发起的请求都能得到服务器的回应。例如 网络无链接 连接不到服务器 链接不存在 请求的...

爬虫养成记 - 网络下载器urllib2伪装术

2017-01-29
阅读 4 分钟
6.4k
前一个教程我们涉及到了urllib2的一些高级应用。这一片文章我们来比较系统的介绍一下。 该篇教程参考了静觅的博文:[链接]。写这篇文章的目的仅仅是加深自己的印象。 Header 很多网站对我们用urllib2发起的请求进行辨别,所以我们需要对我们的请求做一定的伪装。 我打开一个Chrome开发者工具的Network Tab。 查看一个Req...

爬虫养成记 - 网络下载器urllib2初认识

2017-01-27
阅读 2 分钟
3.1k
urllib2是python2.x下的一个模块,在Python3.x中,urllib2被拆分成urllib.request和urllib.error.

爬虫养成记 - 什么是网络爬虫

2017-01-26
阅读 1 分钟
3.9k
趁着春节,希望能写一个小小的网络爬虫框架。先定一个小目标,希望能比较优雅地将某个网站上的所有图片爬下来。暂时先将这个爬虫的名字叫做Squirrel,小松鼠吧。

python学习笔记- 多线程

2017-01-23
阅读 2 分钟
4.7k
一个进程至少有一个线程。Python也提供多线程支持,而且Python中的线程并非是模拟出来的多线程,而是系统级别的Posix Thread.

python学习笔记 - 对进程的管理 Lock、Semaphore、Event

2017-01-15
阅读 3 分钟
6.8k
前面的文章介绍了如何进行进程间的通信方式。结下来我们来讲一讲如何管理多个进程对资源的访问。例如有时候我们多个进程对某一个文件进行写入的时候,如果我们一个进程还没有写完,就被CPU切换到另一个进程,势必会造成文件写入的顺序乱七八糟的。正确的情况是,在一个进程写完的时候,再让另一个进程进行写入。这时候,...

python 学习笔记 - Queue & Pipes,进程间通讯

2017-01-14
阅读 3 分钟
19.7k
上面写了Python如何创建多个进程,但是前面文章中创建的进程都是哑巴和聋子,自己顾自己执行,不会相互交流。那么如何让进程间相互说说话呢?Python为我们提供了一个函数multiprocessing.Pipe和一个类:multiprocessing.Queue。

python学习笔记 - fork, multiprocessing

2017-01-14
阅读 3 分钟
6.6k
Python一直是一门对初学者非常友好的语言,在数据分析、Web 开发、网络安全、网络爬虫等方面应用广泛。近年来,人工智能的兴起使得 Python 更加火爆了。

python学习笔记 - StringIO以及BytesIO

2017-01-12
阅读 2 分钟
6.6k
之前我们所说的都是读写真正的文件。其实我们也可以在内存中虚拟一个文件进行读写。Python给咱们提供的官方module有io.StringIO和io.BytesIO.

python学习笔记 - 操作文件和目录

2017-01-10
阅读 2 分钟
2.9k
pytho的os、os.path模块给我买提供了很多对文件或者目录进行操作的方法。 os.path 对目录的操作 {代码...} os对文件进行操作 {代码...} shutil,os模块的扩展版。 说明:shutil的高级拷贝函数copy()`copy2()`均不能完全拷贝文件的元数据(metadata). shutil.copyfileobj(fsrc, fdst[, length]) 拷贝file-like object. sh...

python学习笔记 - 文件读写

2017-01-10
阅读 2 分钟
2.8k
python在申请打开文件对象的时候,可能会存在文件不存在的情况,则会抛出IOError需要我们捕获处理。文件对象一旦打开,就需要我们去关闭它。否则其会占用系统资源。文件打开的方式有多种。

python学习笔记-为自定义类或者函数编写help文档,以及进行文档测试

2017-01-08
阅读 2 分钟
4.6k
在python中我们可以利用help("模块名")或者help(类名)的方式来查看类或者函数的文档。但是它们是如何编写的呢?其实它们在类最前面或者方法的最前面用"""三个双引号包裹了多行注释。这些内容就会被Python当成帮助文档。

python学习笔记- 单元测试,UnitTest

2017-01-08
阅读 2 分钟
4.8k
以测试驱动的开发方式叫做测试驱动开发(Test Drived Development). 这种开发模式不仅仅是测试,而是分解需求,保证代码质量的一种手段。

python学习笔记-python的调试

2017-01-08
阅读 2 分钟
3.1k
我们在写代码的时候,往往会有一大堆错误。我们该如何调试呢? 用print语句打印 我们可以用print语句打印我们想要的内容,然后在输出中查看。 {代码...} 但是在调试之后,我们还需要手动删除print语句,比较麻烦。 assert 前面用print的地方,我们可以使用assert语句来替代。例如: {代码...} assert语句后紧跟着一句判...

python学习笔记-错误处理

2017-01-08
阅读 3 分钟
1.9k
但是这么做容易将正确的返回值和错误码混在一起,必须要写很多代码来区分,非常不方便。另外一旦出错,还需要一级一级往上报,知道有一级可以处理它。

python学习笔记- python中的类

2017-01-07
阅读 2 分钟
2k
动态语言与静态语言的最大的不同就是,函数和类的定义,不是在编译的时候创建的,而是在运行的时候创建的。例如我们写了一个叫demo.py的模块,在里面定义了一个类:

python学习笔记-魔术方法,让自定义类更像内置类型

2017-01-04
阅读 5 分钟
3.5k
Python的魔术方法是Python中那些预定义的像__XXX__类型的函数。使用Python的魔术方法的最大优势在于python提供了简单的方法让对象可以表现得像内置类型一样。

python学习笔记-多重继承和Mixin

2017-01-02
阅读 1 分钟
6.6k
我们前面理解了类。类就是把具体事物给抽象出来。其实也有归类、类别的意思。我们举一个例子:人的职业有Teacher、Coder、Writer、Singer等职业继承关系就是:

python学习笔记-使用@property、setter、deleter

2017-01-02
阅读 2 分钟
16.2k
那怎么解决了,我们可以把age变成私有的成员变量。然后写一个getter用于供外部取得age值;一个setter函数用于供外部设置age值,并对age值进行一定的判断。例如:

python学习笔记-类对象的信息

2016-12-16
阅读 1 分钟
2k
type()用来判断对象类型。该函数既可以对python内置的数据类型进行操作,也可以对自定义的类或者实例进行操作。另外也可以对函数或者方法进行操作。总之,type()可以获取一切对象的类型。type()函数返回的是type类型的数据。type类型,python已经定义了多个常量。

python学习笔记-继承和多态

2016-12-15
阅读 1 分钟
2.2k
编程中的继承和多态其实跟生物学中的遗传非常类似。例如儿子与父亲相比较,有很多相同的地方,那么这就是遗传;但是父子间也有很多不一样的地方,那么这就是变异,也就是多态。

python学习笔记-访问限制

2016-12-15
阅读 1 分钟
2k
python中将变量变成私有变量,只需要在变量名前加上两个_。例如__name。但是类中一些默认的属性例如__doc__等以__开始,以__结束,并非是私有变量,需要注意区分。

python学习笔记-类和实例

2016-12-14
阅读 3 分钟
3.8k
面向对象最重要的概念应该就是类(class)和实例(instance)了。记得以前学习java的时候,有一个比较简单的例子来解释类和实例。在汽车制造过程中,我们需要先设计图纸,让后再根据图纸来制造实际的汽车。类就相当于图纸,而实例则是实际的汽车。一张图纸可以造出很多汽车,刚造出的汽车是一样的,但是后续可以进行个性化的...

python学习笔记-偏函数

2016-12-11
阅读 1 分钟
2.5k
python中的偏函数概念与数学中的不同。前面我们已经讲到我们在定义函数的时候,可以给一些参数设置默认值,以方便调用的时候不必每个参数都输入。

python学习笔记-装饰器

2016-12-11
阅读 3 分钟
1.9k
知乎上有一个比较形象的比喻 [链接]:人类穿着内裤很大程度上是为了遮羞和对关键部位进行保护,但是却不能提供保暖。因此我们还需要穿着长裤。长裤就是对内裤功能的补充,却不影响内裤本身的功能。

python学习笔记-lambda 匿名函数

2016-12-09
阅读 1 分钟
2.6k
lambda关键词定义的函数,其实是一个<function <lambda> at 0x105f4bb90>对象。因此它也可以被赋值给一个变量名。