1.读写压缩数据文件 使用 gzip 和 bz2 模块来读写压缩文件,不过需要注意文件的模式,默认格式为二进制. # 读取压缩文件 import gzip with gzip.open('somefile.gz', 'rt') as f: text = f.read() import bz2 with bz2.open('somefile.bz2', 'rt') as f: text = f.read() # 写入压缩数据 import gzip with gzip.open('somefile…
1.随机选择 python中生成随机数使用random模块. 1.从序列中随机挑选元素,使用random.choice() >>> import random >>> values = [1, 2, 3, 4, 5, 6] >>> random.choice(values) 3 >>> random.choice(values) 3 >>> random.choice(values) 1 >>> r…
1.减少可调用对象的参数个数,使用functools.partial冻结参数 使用functools.partial(),可以固定一个或者多个值,减少调用参数. >>> def spam(a, b, c, d): ... print(a, b, c, d) ... >>> from functools import partial >>> s1 = partial(spam, 1) # 把a 的值设为 1 >>> s1(2, 3, 4…
1.函数的默认参数必须不可变 如果函数的默认参数为可变的对象,那么默认参数在函数外被修改也会影响到函数本身的. >>> def spam(a, b=None): # b要为不可变参数,不能使用空列表 [] 等可变参数 ... if b is None: ... b = [] ... 2.匿名函数 1.想不出函数名时,或想要一种短小的操作,可以使用匿名函数 >>> sum = lambda x, y: x + y >>> sum(2, 3) 5 >…
1.同时迭代多个序列(zip(函数)) 使用zip()函数可以同时迭代多个序列. >>> X = [1, 2, 3, 4, 5, 6] >>> Y = [121, 223, 116, 666, 919, 2333] >>> for x, y in zip(X, Y): ... print(x, y) ... 1 121 2 223 3 116 4 666 5 919 6 2333 zip(a, b)的作用是创建一个迭代器,产生元组(x, y),x取自a…
1.数字的四舍五入 对于简单的舍入运算,使用内置的 round(value, ndigits) 函数即可. round 函数返回离它最近的偶数.也就是说,对 1.5 或者 2.5 的舍入运算都会得到 2. >>> round(2.5) 2 >>> round(1.5) 2 round()的参数ndigits可以是负数,取整到十位,百位,千位, 效果如下: >>> a = 13123213 >>> round(a, -1) 131232…
1.双向队列 collections.deque 类(双向队列)是一个线程安全.可以快速从两端添加或者删除元素的数据类型. rotate和popleft操作,rorate可以把前后元素换位.popleft可以从左边删除元素,extendleft可以从左边添加元素. >>> from collections import deque # 导入deque模块 >>> dq = deque(range(10), maxlen=10) # deque可以有maxlen参数,限制…
1.元组拆包和解压序列赋值 任何的序列 (或者是可迭代对象) 可以通过一个简单的赋值语句解压并赋值给多个 变量.唯一的前提就是变量的数量必须跟序列元素的数量是一样的. 1.平行赋值: >>> x = (1, 2) >>> a, b = x # 元组拆包 >>> a 1 >>> b 2 2.以用 * 运算符把一个可迭代对象拆开作为函数的参数: >>> divmod(20, 8) # 20求8的余,2 * 8 + 4 =…
1.数据结构 1.1 内置序列类型 四种序列类型: 1.容器序列:list.tuple和collections.deque 2.扁平序列:str.bytes.bytearray.memoryview和array.array 3.可变序列:list.bytearray.array.array.collections.deque 和 memoryview 4.不可变序列:tuple.str 和 bytes 1.2 列表推导 1.列表推导(list comprehension):列表推导是构建列表(l…
Requests:Python HTTP Module学习笔记(一) 在学习用python写爬虫的时候用到了Requests这个Http网络库,这个库简单好用并且功能强大,完全可以代替python的标准库urllib2.在学习的同时把我的学习笔记记录下来,资料基本上都是从Requests官网翻译过来的,欢迎指出有错误或者有表述的不准确的地方. 1.介绍Requests: HTTP for Humans一句话:为地球人准备的网络库 python的标准库urllib2已经提供了大部分你所需要的HTT…