标签:com http blog style class div img code java c log
sys这个模块让你能够访问与Python解释器联系紧密的变量和函数,下面是一些sys模块中重要的函数和变量:
函数和变量 | 描述 |
argv | 命令行参数,包括脚本和名称 |
exit([arg]) | 退出当前的程序,可选参数为给定的返回值或者错误信息 |
modules | 映射模块名字到载入模块的字典 |
path | 查找模块所在目录的目录名列表 |
platform | 平台标识符 |
stdin | 标准输入流-- 一个类文件对象 |
stdout | 标准输出流-- 一个类文件对象 |
stderr | 标准错误流-- 一个类文件对象 |
OS模块为你提供了访问多个操作系统服务的功能。
函数和变量 | 描述 |
environ | 对环境变量进行映射 |
system(command) | 在子shell中执行操作系统命令 |
sep | 路径中的分隔符 |
pathsep | 分割路径的分隔符 |
linesep | 行分隔符(\n、\r、\r\n) |
urandom(n) | 返回n字节的加密强随机数据 |
fileinput模块让你能够轻松地遍历文件的所有行。
函数 | 描述 |
input([files[,inplace[,backup]]]) | 便于遍历多个输入流中的行 |
filename() | 返回当前文件的名称 |
lineno() | 返回当前(累计)的行数 |
filelineno() | 返回当前文件的行数 |
isfirstline() | 检查当前行是否是文件的第一行 |
isstdin() | 检查最后一行是否来自sys.stdin |
nextfile() | 关闭当前文件,移动到下一个文件 |
close() | 关闭序列 |
>>> set([0,1,2,3,0,1,2,3])
set([0, 1, 2, 3])
和字典一样,集合元素的顺序是随意的,因此我们不应该以元素的顺序作为依据进行编程:
>>> set([‘e‘,‘r‘,‘t‘]) set([‘r‘, ‘e‘, ‘t‘])
求两个集合的并集:
>>> a = set([1,2,3]) >>> b = set([2,3,4]) >>> a.union(b) set([1, 2, 3, 4]) >>> a|b set([1, 2, 3, 4])
函数 | 描述 |
heappush(heap,x) | 将x入堆 |
heappop(heap) | 将堆中最小的元素弹出 |
heapify(heap) | 将heap属性强制应用到任意一个列表 |
heapreplace(heap,x) | 将堆中最小的元素弹出,同事将x入堆 |
nlargest(n,iter) | 返回iter中第n大的元素 |
nsmallest(m,iter) | 返回iter中第n小的元素 |
>>> from heapq import * >>> from random import shuffle >>> data = range(10) >>> shuffle(data) >>> heap = [] >>> for n in data: heappush(heap,n) >>> heap [0, 4, 1, 5, 7, 3, 2, 9, 6, 8] >>> heappush(heap,0.5) >>> heap [0, 0.5, 1, 5, 4, 3, 2, 9, 6, 8, 7]
heappop函数弹出最小的元素-- 一般来说都是在索引0出的元素,并且会确保生育元素中最小的那个占据这个位置。
>>> heappop(heap) 0 >>> heappop(heap) 0.5 >>> heap [1, 4, 2, 5, 7, 3, 8, 9, 6]
heapify函数使用任意列表作为参数,并且通过尽可能少的移位操作,将其转换为合法的堆。
>>> heap = [5,3,4,7,9,8,] >>> heapify(heap) >>> heap [3, 5, 4, 7, 9, 8]
heapreplace函数不想其他函数那么常用,它弹出堆的最小元素,并且将新元素推入。
>>> heap = [5,3,4,7,9,8,] >>> heapreplace(heap,0.5) 3 >>> heap [0.5, 5, 4, 7, 9, 8]
>>> from collections import deque >>> q = deque(range(5)) >>> q.append(5) >>> q.appendleft(6) >>> q deque([6, 0, 1, 2, 3, 4, 5]) >>> q.pop() 5 >>> q.popleft() 6 >>> q.rotate(3) >>> q deque([2, 3, 4, 0, 1]) >>> q.rotate(-1) >>> q deque([3, 4, 0, 1, 2])
双端队列好用的原因是它能够有效地在开头增加和弹出元素。
time模块所包括的函数能够实现以下功能:获得当前时间、操作时间和日期、从字符串读取时间以及格式化时间为字符串。
函数time.asctime()将当前时间格式化为字符串:
>>> import time >>> time.asctime() ‘Mon Apr 28 15:22:24 2014‘
函数 | 描述 |
asctime([tuple]) | 将时间元组转换为字符串 |
localtime([secs]) | 将描述转换为日期元组,以本地时间为准 |
mktime(tuple) | 将时间元组转换为本地时间 |
sleep(secs) | 休眠 secs秒 |
strptime(string[,format]) | 将字符串解析为时间元组 |
time() | 当前时间 |
random模块包括返回随机数的函数,可以用于模拟或者用于任何产生随机输出的程序。
函数 | 描述 |
random() | 返回0≤n<1之间的随机实数,其中0<n≤1 |
getrandbits(n) | 以长整型形式返回n个随机位 |
uniform(a,b) | 返回随机实数n,其中a≤n<b |
randrange([start],stop,[step]) | 返回range(start,stop,step)中的随机数 |
choice(seq) | 从序列seq中返回随意元素 |
shuffle(seq[,random]) | 原地制定序列seq |
sample(seq,n) | 从序列seq中选择n个随机切独立的元素 |
简单的存储方案 P188
函数 | 描述 |
compile(pattern[,flags]) | 根据包含正则表达式的字符串创建模式对象 |
search(pattern.string[,flags]) | 在字符串中寻找模式 |
match(pattern,string[,flags]) | 在字符串的开始处匹配模式 |
split(pattern,string[,maxsplit=0]) | 更具模式的匹配项来分割字符串 |
findall(pattern,string) | 列出字符串中模式的所有匹配项 |
sub(pat,repl,string[,count=0]) | 将字符串中所有的pat的匹配项用repl替换 |
excape(string) | 将字符串中所有特殊正则表达式字符转义 |
(未完待续)
《Python基础教程(第二版)》学习笔记 -> 第十章 充电时刻 之 标准库,布布扣,bubuko.com
《Python基础教程(第二版)》学习笔记 -> 第十章 充电时刻 之 标准库
标签:com http blog style class div img code java c log
原文地址:http://www.cnblogs.com/wuzhiming/p/3685958.html