1.有些狀況下,使用單獨的一條語句導入包中的全部模塊會帶來方便,爲此在__init__.py文件中加入__all__=["",""]包含模塊的名字。同理要想對導入模塊中全部函數葉能夠添加__all__選項,精確控制導入的函數有哪些。python
2.任何模塊被導入後,Python都將爲該模塊建立一個名爲__name__的變量,並將該模塊的名稱存儲於該變量中。可是在咱們運行其代碼時,python會把變量命名爲"__name__",由於模塊中用了doctest模塊,doctest.testmod()函數嘗試執行docstring中的函數,而且在運行時,只在發生錯誤時,纔打印異常信息。要想打印更詳細信息能夠使用-v 參數。正則表達式
3.對於查看命令:python -c "import Music",若是這一命令產生異常,就說明尚無模塊或頂級目錄使用該名稱。算法
4.python 標準庫概覽:cookie
(1)字符串處理:String(提供了一些有用的常量)、textwrap(用於最小化縮排),Struct(str,int等與二進制字節之間的轉換),difflib(對序列進行比較),re(正則表達式),io.StringIO(提供了一種相似與字符串的對象,其行爲相似於內存中的文本文件)網絡
(2)命令行程序設計:optparse()和getopt()模塊,用於解析命令行參數和設計實現參數dom
(3)數學與數字:decimal.Decimal和fractions.Fraction模塊,NumPy包,math,cmath,randomsocket
(4)時間與日期:calendar,time,datetimeasync
(5)算法與組合數據類型:bisect模塊(處理有序序列),heapq模塊(將序列轉化爲堆),collections.deque(在開始或結尾添加數據快),array.array提供了序列類型,以很是節省空間的方式存儲字符等。函數
(6)文件格式、編碼與數據持久性:讀取不一樣文件格式:base64,quopri,uu,xdrlib;讀取不一樣格式的存檔文件:bz2,gzip,tarfile,zipfile;處理音頻格式數據:wave,aifc,audioop,sndhdr;處理ini文件:configparser;處理csv格式文件:csv模塊;關於磁盤操做:pickle(向磁盤中存儲或取回任意python對象),shelve(處理DBM文件,相似字典,其鍵爲字符串,值爲任意類型對象)oop
(7)文件目錄與進程處理:Shutil模塊(處理文件與目錄),tempfile(處理臨時文件和目錄),filecmp能夠對文件進行比較,subprocess(對其餘程序的調度),multiprocessing(能夠替代多進程),os(提供了操做系統功能的接口,主要用於和操做系統進行交互)
(8)網絡與Internet程序設計:socket模塊,ssl模塊,socketserver模塊,asynchat模塊,asyncore模塊,http.cookies,http.cookiejar模塊,http.client模塊,urllib模塊,xmlrpc.clientxmlrpc.server模塊,ftplib,nntplib模塊,telnetlib,smtpd模塊等;
(9)XML:包括兩個包:xml,lxml
(10):其餘有用的模塊:logging模塊,unitest模塊,threading模塊,bytes模塊。