首页 > 代码库 > 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--自带电池