首页 > 代码库 > python--自带电池
python--自带电池
一、模块:
1、任何python程序都能作为模块导入。使用sys。
编写一个hello.py程序,保存到d:\python目录。
2、模块用于定义:定义所有类和函数以及赋值后的变量都成为了模块的特性。
python程序定义了一个hello2()的函数。
导入模块后则可以直接通过模块来调用hello2()函数,为了将代码可重用,请将它模块化。
3、在模块中增加测试代码:
4、让模块可用:
1、将模块放入正确的位置,site-packages为最佳选择。
5、包:当模块存储在文件时(.py),包就是模块所在的目录。它必须包含一个命名为__init__py的文件。
二、探究模块:
1、使用dir查看模块的内容:
过滤带有_下划线的内容即过滤不可外部调用的内容,使用列表推导式:
2、__all__变量:定义了公有接口。告诉解释器从模块导入所有名字代表的含义。
例如from copy import *:那么就能使用这3个函数,如果要导入PyStringMap你就得显示地实现。或者导入copy后使用copy.PyStringMap。或者from copy import PyStringMap。
3、使用help:
4、文档__doc__
5、查看源代码:从如下目录中找到copy源代码文件路径。
二、标准库:
1、sys模块:能够访问与python解释器联系解密的变量和函数。
1、sys.argv:包含传递到解释器的参数,包括脚本名称。
sys.argv:是一个列表。
sys.argv[]:代表本身文件名字。sys.argv[1]:第一个参数。sys.argv[n]:第N个参数。
len(sys.argv):获取列表的长度。
2、sys.path:查看模块所在目录的目录名列表。
sys.path.append():可以追加目录。
3、sys.exit([arg]):退出当前程序。可选参数为给定的返回值或者错误信息。
4、sys.modules:将模块名映射到实际存在的模块上,它只应用于目前导入的模块。
5、sys.platform:解释器正在其上运行的“平台名称”,可能是标识操作系统的名字,也可能标识其他种类的平台。
6、sys.stdin:标准输入流,一个类文件对象。
7、sys.stdout:标准输出流,一个类文件对象。
8、sys.stderr:标准错误流,一个类文件对象。
2、os模块:访问多个操作系统服务功能。
1、os.environ:对环境变量进行映射。os.environ[‘PYTHONPATH‘]。
2、os.system:用于运行外部程序。
3、os.seq:用于路径名中的分隔符。UNIX中的标准分隔符“/”,windows的标准分隔符“\\”,Mac OS的标准分隔符“:”。
4、os.pathseq:用于分隔路径。UNIX使用“:”,windows使用“;”,Mac OS使用“::”。
5、os.lineseq:用于文本文件的字符串分隔符。UNIX使用(\n),windows使用(\r\n),Mac OS使用(\r)。
6、os.urandom(n):使用依赖于系统的“真”随机数的源。如果正在使用的平台不支持,得到一个NotImplementedError异常。
在Unix下启动浏览器:os.system(‘/usr/bin/firefox‘)。
在Windows下启动浏览器:os.system(r‘c:\"Program File"\"Mozilla Firefox"\firefox.exe‘)
或者:os.startfile(r‘c:\Program File\Mozilla Firefox\firefox.exe‘)。
更好的解决方案:webbrowser模块启动浏览器:
import webbrowser
webbrowser.open(‘http://www.python.org‘)
3、fileinput:能够轻松的遍历文本文件中的所有行。
1、fileinput.input(files[, inplace[, backup]]):遍历多个输入流中的行。inplace=真值:进行原地处理。backup参数将文件名扩展备份到通过原始文件创建的备份文件。
2、fileinput.filename:返回当前正在处理的文件名字。
3、fileinput.lineno:返回当前累计的行数。
4、fileinput.filelineno:返回当前文件的行数。
5、fileinput.isfirstline:检查当前行是否是文件的第一行,是则返回真,否则返回假。
6、fileinput.isstdin:检查最后一行是否来自sys.stdin。
7、fileinput.nextfile:关闭当前文件移动到下一个文件。
8、fileinput.close:关闭序列。
为data.txt添加行编号。
4、集合:
1、集合是由序列构成的,主要用于检查成员资格,因此副本是被忽略的。集合元素的顺序是无序的。
2、取两个集合的并集:union
3、集合的运算
4、用于查找并且打印两个集合的并集:
5、怎么样使集合作为其他集合成员还是字典的键:frozenset
5、堆:
heapq模块:
1、heappush(heap,n):将n入堆。shuffle(data):将序列n中的元素随机排序。
2、heappop(heap):将堆中的最小元素弹出。
堆属性:位于i位的元素总比i//2位置处的元素大。
3、heapify(heap):将heap属性强制应用到任意一个列表。
4、heapreplace(heap,x):弹出堆中最小元素,并且将新元素入堆。
5、nlargest(n,iter),nsmallest(n,iter):寻找任何可迭代对象iter中第n大或者第n小的元素。
6、双端队列:可以实现按照元素增加的顺序来移除元素。通过collections模块中的deque类型。
q.rotate(3):右移三位。q.rotate(-1):左移一位。
7、time模块:
1、asctime([tuple]):将时间元组转换为字符串。
2、localtime([secs]):将实数转换为本地时间的日期元组。
3、gmtime():获得全球统一时间。
4、time.mktime(tuple):将时间元组转换为本地时间。与localtime功能相反。
5、sleep(secs):休眠。
6、strptime(string[, format]):将字符串解析为时间元组。与asctime()功能相反。
7、time():当前时间。
8、timedata支持日期与时间的算法。timeit:对代码段的执行时间进行计时。
8、random
1、random():返回0<n<=1范围内的随机实数n。
2、getrandbits(n):以长整形形式返回n个随机位(二进制)。
3、uniform(a,b):返回随机实数n,a<=n<b
4、randrange([start],stop,[step]):返回range(start,stop,step)中的随机数。
randrange(1,11)或者randrange(10)+1:获得1-10的随机数。
randrange(1,20,2):获得小于20的随机正奇数。
5、choice(seq):从序列seq中返回任意元素。
6、shuffle(seq[, random]):将给定可变序列的元素进行移位,随机排序。
7、sample(seq,n):从序列中选择n个元素且独立的元素。
8、
9、选择掷骰子数及每个骰子的面数。求和
10、将已知文件的行内容存入列表,再随机选择。
11、每次敲一次回车,都为自己发一张牌。
9、shelve:通过调用open函数返回一个Shelf对象,用它来存储内容。
1、为了正确的使用shelve模块修改存储对象,必须将临时变量绑定到获得的副本上,并且在它被修改后重新存储这个副本。
2、简单使用shelve模块的简单数据库应用程序。
程序运行结果:
python--自带电池