標籤:程式 unicode mmap 數學 轉換函式 deque 訊號量 splay 載入
第一部分: Python語言
第1章: python簡介------2
1.1 運行py------21.2 變數和運算子運算式------31.3 條件陳述式------51.4 檔案輸入輸出------61.5 字串------71.6 列表------81.7 元祖------91.8 集合------101.9 字典------111.10 迭代與迴圈------121.11 函數------131.12 產生器------141.13 攜程------151.14 對象與類------161.15 異常------171.16 模組------181.17 獲得協助------19第2章: 文法約定和文法------20
2.1 行結構和縮排------202.2 標識符和保留字------212.3 數字字面量------212.4 字串字面量------222.5 容器------232.6 運算子, 分隔字元及特殊符號------242.7 文檔字串------242.8 裝飾器------242.9 原始碼編碼------25第3章: 類型與對象------26
3.1 術語------263.2 對象的標識與類型------263.3 引用計數與記憶體回收------273.4 引用與賦值------283.5 第一類對象------293.6 表示資料的內建類型------303.6.1 None類型------303.6.2 數實值型別------313.6.3 序列類型------313.6.4 映射類型------353.6.5 集合類型------363.7 表示程式結構的內建類型------383.7.1 可調用類型------383.7.2 類, 類型與執行個體------403.7.3 模組------413.8 解譯器內部使用的內建類型------413.8.1 代碼對象------413.8.2 幀對象------423.8.3 跟蹤對象------423.8.4 產生器對象------433.8.5 切片對象------433.8.6 Ellipsis 對象------433.9 對象行為與特殊方法------443.9.1 對象的建立與銷毀------443.9.2 對象字串表示------443.9.3 對相比較與排序------453.9.4 類型檢查------463.9.5 屬性訪問------463.9.6 屬性包裝與描述符------463.9.7 序列與映射方法------473.9.8 迭代------483.9.9 數學操作------483.9.10 可調用介面------503.9.11 上下文管理協議------503.9.12 對象檢查與dir()------51第4章: 運算子與運算式------52
4.1 數值操作------524.2 序列操作------534.3 字串格式化------564.4 進階字串格式化------574.5 字典操作------594.6 集合操作------604.7 差異複寫------604.8 屬性(.)運算子------614.9 函數調用()運算子------614.10 轉換函式------614.11 布林運算式與真值------624.12 對象等同性與標識------634.13 運算優先順序------634.14 條件運算式------64
第5章: 程式結構與控制流程------65
5.1 程式結構與執行------655.2 執行條件陳述式------655.3 迴圈與迭代------665.4 異常------685.4.1 內建異常------705.4.2定義新異常------715.5 上下文管理器與with語句------725.6 斷言與__debug__------73
第6章: 函數與函數式編程------75
6.1 函數------756.2 參數傳遞與傳回值------776.3 範圍規則------786.4 作為對象與閉包的函數------796.5 裝飾器------826.6 產生器與yield------836.7 協程與yield運算式------856.8 使用產生器與協程------876.9 列表推導------896.10 產生器運算式------906.11 聲明式編程------916.12 Lambda 運算子------926.13 遞迴------926.14 文檔字串------936.15 函數屬性------946.16 eval(), exec()和compile()函數------94
第7章:類與物件導向編程------96
7.1 class 語句------967.2 類執行個體------977.3 範圍規則------977.4 繼承------987.5 多態動態綁定和鴨子類型------1007.6 靜態方法和類方法------1017.7 特性------1027.8 描述符------1047.9 資料封裝和私人屬性------1057.10 對象記憶體管理------1067.11 對象表示和屬性綁定------1087.12
slots------1097.13 運算子多載------1107.14 類型和類成員測試------1117.15 抽象基類------1137.16 元類------1147.17 類裝飾器------117
第8章: 模組, 包與分發------118
8.1 模組與import語句------1188.2 從模組匯入選定符號------1198.3 以主進程的形式執行------1208.4 模組搜尋路徑------1218.5 模組載入和編譯------1218.6 模組重新載入和卸載------1228.7 包------1238.8 分發python程式和庫------1258.9 安裝第三方庫------127
第9章: 輸入與輸出------129
9.1 讀取命令列選項------1299.2 環境變數------1309.3 檔案和檔案對象------1309.4 標準輸入, 輸出和錯誤------1339.5 print 語句------1339.6 print() 函數------1349.7 文本輸出中的變數插入------1349.8 產生輸出------1359.9 Unicode 字串處理------1369.10 Unicode 字元特性------1379.10.1 Unicode 資料編碼------1389.10.2 Unicode 字元特性------1409.11 對象持久化與pickle 模組------140
第10章: 執行環境------142
10.1 解譯器選項與環境------14210.2 互動式回話------14410.3 啟動python應用程式------14510.4 網站設定檔------14510.5 使用者網站包------14610.6 啟用新功能------14610.7 程式終止------147第 11 章: 測試, 調試, 探查與調優------149
11.1 文檔字串和doctest 模組------14911.2 單元測試和 unittest 模組------15111.3 Python調試器和pdb 模組------15311.3.1 調試器命令------15311.3.2 從命令列進行調試------15611.3.3 配置調試器------15611.4 程式探查------15611.5 調優與最佳化------15711.5.1 進行計時測量------15711.5.2 進行記憶體測量------15811.5.3 反組譯碼------15811.5.4 調優策略------159 第二部分: python庫------164
第 12 章: 內建函數和異常------164
12.1 內建函數和類型------17212.2 內建異常------17212.2.1 異常基類------17312.2.2 預定義的異常類------17312.3 內建警告------17612.4 future_builtins------176
第 13 章: Python運行時的服務------178
13.1 atexit------17813.2 copy------17813.3 gc------17913.4 inspect------18013.5 marshal------18313.6 pickle------18413.7 SYS------18613.7.1 變數------18613.7.2 函數------18913.8 traceback------19113.9 types------19213.10 warnings------19313.11 weakref------19513.11.1 樣本------19613.11.2 注意------196
第 14 章: 數學運算------197
14.1 decimal------19714.1.1 Decimal 對象------19714.1.2 Context 對象------19814.1.3 函數和常量------20014.1.4 樣本------20114.1.5 注意------20214.2 fractions------20314.3 math------20414.4 numbers------20514.5 random------20614.5.1 種子和初始化------20614.5.2 隨機整數------20614.5.3 隨機序列------20714.5.4 實值隨機分布------20714.5.5 注意------208
第 15 章: 資料結構, 演算法, 與代碼簡化------209
15.1 abc------20915.2 array------21015.3 bisect------21215.4 collections------21315.4.1 deque 和 defaultdict------21315.4.2 命名元祖------21415.4.3 抽象基類------21615.5 contextlib------21715.6 functools------21815.7 heapq------21915.8 itertools------22015.9 operator------222
第 16 章: 字串和文本處理------225
16.1 codecs------22516.1.1 低級codecs介面------22516.1.2 I/O相關函數------22616.1.3 有用的常量------22716.1.4 標準編碼------22716.1.5 注意------22816.2 re------22816.2.1 模式文法------22816.2.2 函數------22916.2.3 Regex------23116.2.4 匹配對象------23116.2.5 樣本------23216.2.6 注意------23316.3 string------23316.3.1 常量------23316.3.2 Formatter 對象------23316.3.3 Template 字串------23516.3.4 工具 + 生產力函數------23516.4 struct------23516.4.1 打包和解包函數------23616.4.2 Struct 對象------23616.4.3 格式編碼------23616.4.4 注意------23716.5 Unicodedata------238
第 17 章: Python資料庫訪問------241
17.1 關聯式資料庫API規範------24117.1.1 串連------24117.1.2 Cursor------24217.1.3 產生查詢------24317.1.4 類型對象------24417.1.5 錯誤處理------24517.1.6 多線程------24517.1.7 將結果映射到字典中------24617.1.8 資料庫API擴充------24617.2 sqlite3 模組------24617.2.1 模組層級函數------24617.2.2 連線物件------24817.2.3 遊標和基本操作------25017.3 DBM風格的資料庫模組------25217.4 shelve 模組------253
第 18 章: 檔案和目錄處理------254
18.1 bz2------25418.2 filecmp------25518.3 fnmatch------25618.4 glob------25718.5 gzip------25718.6 shutil------25818.7 tarfile------25918.7.1 異常------26118.7.2 樣本------26218.8 tempfile------26218.9 zipfile------26318.10 zlib------266
第 19 章: 作業系統服務------268
19.1 Commands------26819.2 ConfigParaer, configparser------26919.2.1 ConfigParaer 類------26919.2.2 樣本------27019.2.3 注意------27219.3 datetime------27219.3.1 date 對象------27219.3.2 time 對象------27319.3.3 datetime 對象------27419.3.4 timedelta 對象------27519.3.5 涉及日期的數學運算------27619.3.6 tzinfo 對象------27719.3.7 日期與時間解析------27819.4 errno------27819.4.1 POSIX 錯誤碼------27819.4.2 Windows 錯誤碼------27919.5 fcntl------28019.5.1 樣本------28119.5.2 注意------28119.6 io------28219.6.1 基本I/O介面------28219.6.2 原始I/O------28219.6.3 緩衝二進位I/O------28319.6.4 文本I/O------28519.6.5 open()函數------28519.6.6 抽象基類------28619.7 logging------28619.7.1 日誌記錄層級------28619.7.2 基本配置------28619.7.3 logger 對象------28819.7.4 處理器對象------29219.7.5 訊息格式化------29419.7.6 各種工具 + 生產力函數------29619.7.7 日誌記錄配置------29619.7.8 效能考慮------29919.7.9 注意------29919.8mmap------29919.9 msvcrt------30119.10 optparse------30319.10.1 例子------30519.10.2 注意------30619.11 os------30719.11.1 進程環境------30719.11.2 檔案建立與檔案描述符------30919.11.3 檔案 與 目錄------31319.11.4 進程管理------31619.11.5 系統配置------32019.11.6 異常------32119.12 os.path------32119.13 signal------32319.13.1 例子------32519.13.2 注意------32519.14 subprocess------32519.14.1 例子------32719.14.2 注意------32819.15 time------32819.16 winarg------330
第 20 章 線程與並發------334
20.1 基本概念------33520.2 並發編程與Python------33620.3 multiprocessing------33620.3.1 進程------33620.3.2 處理序間通訊------33720.3.3 進城池------34320.3.4 共用資料與同步------34520.3.5 託管對象------34720.3.6 串連------35220.3.7 各種工具 + 生產力函數------35320.3.8 多進程處理的一般建議------35320.4 threading------35420.4.1 Thread 對象------35420.4.2 Timer 對象------35620.4.3 Lock 對象------35620.4.4 Rlock 對象------35620.4.5 訊號量 與 有邊界的訊號量------35720.4.6 事件------35820.4.7 條件變數------35820.4.8 使用Lock------35920.4.9 線程終止與掛起------36020.4.10 工具 + 生產力函數------36120.4.11 全域解譯器鎖------36120.4.12 使用線程編程------36120.5 queue, Queue------36220.6 協程與微線程------364
第 21 章: 網路編程和通訊端------365
21.1 網路編程基礎------36521.2 asynchat 模組------36721.3 asyncore 模組------37021.4 select------37421.4.1 進階模組功能------37521.4.2 進階非同步I/O樣本------37521.4.3 非同步連網的時機------38121.5 select------38321.5.1 地址族------38321.5.2 通訊端類型------38321.5.3 定址------38421.5.4 函數------38521.5.5 異常------39521.5.6 樣本------39521.5.7 注意------39621.6 ssl------39621.7 SocketServer------39921.7.1 處理常式------39921.7.2 伺服器------40021.7.3 定義自訂伺服器------40121.7.4 自訂應用伺服器------403
第 22 章 網路應用程式編程------404
22.1 ftplib------40422.2 http包------40722.2.1 http.client (httplib)------40822.2.2 http.server (BaseHTTP-Server, CGIHTTPServer 和 SimpleHTTP Server)------41222.2.3 http.cookies (Cookies)------41622.2.4 http.cookiejar (cookielib)------41822.3 smtplib------41822.4 urllib 包------41922.4.1 urllib.request (urllib2)------41922.4.2 urllib.response------42322.4.3 urllib.parse------42422.4.4 urllib.error------42622.4.5 urllib.robotparser (robotparser)------42722.4.6 注意------42722.5 xmlrpc 包------42722.5.1 xmlrpc.client (xmlrpclib)------42722.5.2 xmlrpc.server (Simple-XMLRPCServer 和 DocXMLR-PCServer)------430
第 23 章: Web編程------433
23.1 cgi------43523.1.1 CGI編程建議------43823.1.2 注意------43923.2 cgitb------44023.3wsgiref------44023.3.1 WSGI規範------44023.3.2注意------44223.4 webbrowser------444
第 24 章 網路資料處理和編碼------445
24.1 base64------44524.2 binascii------44724.3 CSV------44724.3.1 方言------44924.3.2 樣本------45024.4 email 包------45024.4.1 解析電子郵件------45024.4.2 編寫電子郵件------45324.4.3 注意------45624.5 hashlib------45624.6 hmac------45624.7 HTMLParser------45824.8 json------46024.9 mimetypes------46224.10 quopri------46324.11 xml包------46324.11.1 XML 範例文件------46424.11.2 xm.dom.minidom------46524.11.3 xml.etree.ElementTree------46824.11.4 xml.sax------47424.11.5 xml.sax.saxutils------476
第 25 章: 其他庫模組------477
25.1 Python 服務------47725.2 字串處理------47825.3 作業系統模組------47825.4 網路------47825.5 網路資料處理------47825.6 國際化------47825.7 多媒體服務------47925.8 其他------479
第三部分: 擴充與嵌入------482
第 26 章: 擴充與嵌入Python
26.1 擴充模組------48226.1.1 擴充模組原型------48426.1.2 命名擴充模組------48626.1.3 編譯與打包擴充------48626.1.4 從Python 到 C 語言的類型轉換------48826.1.5 從C 到 Python 的類型轉換------49226.1.6 給模組添加值------49326.1.7 錯誤處理------49426.1.8 引用計數------49526.1.9 線程------49626.2 嵌入Python 解譯器------49626.2.1 嵌入模版------49726.2.2 編譯與連結------49726.2.3 基本的解譯器操作與設定------49726.2.4 在 C 語言中訪問 Python------49826.2.5 將 Python 對象轉換為 C 對象------49926.3 ctypes------50026.3.1 載入共用庫------50026.3.2 外來函數------50026.3.3 資料類型------50126.3.4 調用外來函數------50226.3.5 其他類型構造方法------50326.3.6 工具 + 生產力函數------50426.3.7 樣本------50526.4 進階擴充與嵌入------50626.5 Jpython 和 IronPython------507
附錄 Python3------508
python參考手冊的目錄