Python程式設計與算法基礎教程(第2版)-微課版

Python程式設計與算法基礎教程(第2版)-微課版

《Python程式設計與算法基礎教程(第2版)-微課版》是2019年7月清華大學出版社出版的圖書,作者是江紅、余青松。

基本介紹

  • 中文名:Python程式設計與算法基礎教程(第2版)-微課版
  • 作者:江紅、余青松
  • 出版時間:2019年7月
  • 出版社:清華大學出版社
  • ISBN:9787302524830
  • 定價:59 元
內容簡介,圖書目錄,

內容簡介

本書集教材、練習冊、上機指導於一體,基於Windows 10和Python 3.7構建Python開發平台,闡述Python語言的基礎知識,以及使用Python語言的開發套用實例,具體內容淚市拒包括Python概述,Python語言基礎,程式流程控制,常用內置數據類型,序列數據類型,輸入和輸出,錯誤和異常處理,函式、類和對象,模組和客戶端,算法與數據結構基礎,圖形用戶界面,圖形繪製,數值日期和時間處理,字元串和文本處理,檔案、資料庫訪問,網路和Web編程,多執行緒編程以及系統管理等。
本書編者結合多年的程式設計、系統開發以及授課經驗,由淺入深、循序漸進地介紹Python程式設計語言,讓讀者能夠較為系統、全面地掌握程式設計的理論和套用罪朵朽歸。本書還提供了教學微課視頻。
本書可以作為高等學校各專業的電腦程式設計教程,也可作為廣大程式設計開發者、愛好者的自學參考書。

圖書目錄

源碼下載
第1章Python概述
1.1初識Python語言
1.1.1Python語言簡介
1.1.2Python語言的甩埋局棕特點
1.1.3Python語言的套用範圍
1.2Python語言版本和開發環境
1.2.1Python語言的版本
1.2.2Python語言的實現
1.2.3Python語言的集成開發環境
1.3下載和安裝Python
1.3.1下載Python
1.3.2安裝Python
1.3.3安裝和管理Python擴展包
1.4使用Python解釋器解釋執行Python程式
1.4.1運行Python解釋器
1.4.2運行Python集成開發環境
1.5使用文本編輯器和命令行編寫和執行Python源檔案程式
1.5.1編寫輸出“Hello,World!”的程式
1.5.2輸出“Hello,World!”程式的原始碼分析
1.5.3運行Python原始碼程式
1.6使用集成開發環境IDLE編寫和執行Python源檔案程式
1.6.1使用IDLE編寫程式
1.6.2使用IDLE編輯程式
1.7線上幫助辯捉抹和相關資源
1.7.1Python互動式幫助系統
1.7.2Python文檔
1.7.3Python官網
1.7.4Python擴展庫索引
1.8複習題
1.9上機驗廈全實踐
1.10案例研究: 安裝和使用其他Python環境
第2章Python語言基礎
2.1Python程式概述
2.1.1引例
2.1.2Python程式的構成
2.2Python對象和引用
2.2.1Python對象概述
2.2.2使用字面量創建實例對象
2.2.3使用類對象創建實例對象
2.2.4數據類型
2.2.5變數和對象的引用
2.2.6Python是動態類型語言
2.2.7Python是強類型語言
2.2.8對象記憶體示意圖
2.2.9對象的值比較和引用判別
2.2.10不可變對象和可變對象
2.3標識符及其命名規則
2.3.1標識符
2.3.2保留關鍵字
2.3.3Python預定義標識符
2.3.4命名規則
2.4變數和賦值語句
2.4.1變數的聲明和賦值
2.4.2鏈式賦值語句
2.4.3複合賦值語句
2.4.4刪除變數
2.4.5序列解包賦值
2.4.6常量
2.5表達式和運算符
2.5.1表達式的組成
2.5.2表達式的書寫規則
2.5.3運算符概述
2.5.4Python運算符
2.循漿6語句
2.6.1Python語句
2.6.2Python語句的書寫規則
2.6.3複合語句及其縮進書寫規則
2.6.4注釋語句
2.6.5空語句
2.7函式和模組
2.7.1函式的創建和調用
2.7.2內置函式
2.7.3模組函式
2.7.4函式API
2.8類和對象
2.8.1創建類對象
2.8.2實例對象的創建和調用
2.9模組和包
2.10複習題
2.11上機實踐
2.12案例研究: 使用Pillow庫頁蒸詢處理圖像檔案
第3章程式流程控制
3.1順序結構
3.2選擇結構
3.2.1分支結構的形式
3.2.2單分支結構
3.2.3雙分支結構
3.2.4多分支結構
3.2.5if語句的嵌套
3.2.6if語句的典型示例代碼
3.2.7選擇結構綜合舉例
3.3循環結構
3.3.1可疊代對象
3.3.2range對象
3.3.3for循環
3.3.4while循環
3.3.5循環的嵌套
3.3.6break語句
3.3.7continue語句
3.3.8死循環
3.3.9else子句
3.3.10enumerate()函式和循環
3.3.11zip()函式和循環
3.3.12map()函式和循環
3.3.13循環語句的典型示例代碼
3.3.14循環結構綜合舉例
3.4複習題
3.5上機實踐
3.6案例研究: 使用嵌套循環實現圖像處理算法
第4章常用內置數據類型
4.1Python內置數據類型概述
4.1.1數值數據類型
4.1.2序列數據類型
4.1.3集合數據類型
4.1.4字典數據類型
4.1.5NoneType、NotImplementedType和EllipsisType
4.1.6其他數據類型
4.2int類型
4.2.1整型字面量
4.2.2int對象
4.2.3int對象的方法
4.2.4整數的運算
4.3float類型
4.3.1浮點類型字面量
4.3.2float對象
4.3.3float對象的方法
4.3.4浮點數的運算
4.4complex類型
4.4.1複數類型字面量
4.4.2complex對象
4.4.3complex對象的屬性和方法
4.4.4複數的運算
4.5bool類型
4.5.1布爾值字面量
4.5.2bool對象
4.5.3邏輯運算符
4.6str類型
4.6.1字元串字面量
4.6.2字元串編碼
4.6.3轉義字元
4.6.4str對象
4.6.5str對象的屬性和方法
4.6.6字元串的運算
4.6.7對象轉換為字元串
4.6.8字元串的格式化
4.6.9格式化字元串變數
4.7比較關係運算和條件表達式
4.7.1條件表達式
4.7.2關係和測試運算符
4.8算術運算符和位運算符
4.8.2位運算符
4.9混合運算和數值類型轉換
4.9.1隱式轉換
4.9.2顯式轉換
4.10內置標準數學函式
4.10.1內置數學運算函式
4.10.2數制轉換函式
4.11複習題
4.12上機實踐
4.13案例研究: 科學計算和數據分析
第5章序列數據類型
5.1Python序列數據概述
5.1.1數組
5.1.2Python內置的序列數據類型
5.2序列數據的基本操作
5.2.1序列的長度、最大值、最小值、求和
5.2.2序列的索引訪問操作
5.2.3序列的切片操作
5.2.4序列的連線和重複操作
5.2.5序列的成員關係操作
5.2.6序列的比較運算操作
5.2.7序列的排序操作
5.2.8內置函式all()和any()
5.2.9序列的拆分
5.3元組
5.3.1使用元組字面量創建元組實例對象
5.3.2使用tuple對象創建元組實例對象
5.3.3元組的序列操作
5.4列表
5.4.1使用列表字面量創建列表實例對象
5.4.2使用list對象創建列表實例對象
5.4.3列表的序列操作
5.4.4list對象的方法
5.4.5列表解析表達式
5.5字元串
5.5.1字元串的序列操作
5.5.2字元串編碼
5.5.3字元串的格式化
5.6位元組序列
5.6.1bytes常量
5.6.2創建bytes對象
5.6.3創建bytearray對象
5.6.4bytes和bytearray的序列操作
5.6.5位元組編碼和解碼
5.7複習題
5.8上機實踐
5.9案例研究: 猜單詞遊戲
第6章輸入和輸出
6.1輸入和輸出概述
6.2.1sys.argv與命令行參數
6.2.2argparse模組和命令行參數解析
6.3標準輸入和標準輸出函式
6.3.1輸入和輸出函式
6.3.2互動式用戶輸入
6.3.3運行時提示輸入密碼
6.4檔案和檔案對象
6.4.1檔案對象和open()函式
6.4.2檔案的打開、寫入、讀取和關閉
6.4.3with語句和上下文管理協定
6.5標準輸入、輸出和錯誤流
6.5.1標準輸入、輸出和錯誤流檔案對象
6.5.2讀取任意長度的輸入流
6.5.3標準輸入、輸出和錯誤流重定向
6.6重定向和管道
6.6.1重定向標準輸出到一個檔案
6.6.2重定向檔案到標準輸入
6.6.3管道
6.6.4過濾器
6.7複習題
6.8上機實踐
6.9案例研究: 21點撲克牌遊戲
第7章錯誤和異常處理
7.1程式的錯誤
7.1.1語法錯誤
7.1.2運行時錯誤
7.1.3邏輯錯誤
7.2異常處理
7.2.1異常處理概述
7.2.2內置的異常類
7.2.3引發異常
7.2.4捕獲處理異常機制概述
7.2.5Python虛擬機捕獲處理異常
7.2.6使用try…except…else…finally語句捕獲處理異常
7.2.7捕獲異常的順序
7.2.8finally塊和發生異常後的處理
7.2.9自定義異常類
7.3斷言處理
7.3.1斷言處理概述
7.3.2assert語句和AssertionError類
7.3.3啟用/禁用斷言
7.4程式的基本調試方法
7.4.1語法錯誤的調試
7.4.2運行時錯誤的調試
7.4.3邏輯錯誤的調試
7.5使用logging模組輸入日誌
7.5.1logging模組概述
7.5.2logging的配置和使用
7.6複習題
7.7上機實踐
7.8案例研究: 使用調試器調試Python程式
第8章函式和函式式編程
8.1函式概述
8.1.1函式的基本概念
8.1.2函式的功能
8.1.3Python中函式的分類
8.2函式的聲明和調用
8.2.1函式對象的創建
8.2.2函式的調用
8.2.3函式的副作用
8.3參數的傳遞
8.3.1形式參數和實際參數
8.3.2形式參數變數和對象引用傳遞
8.3.3傳遞不可變對象的引用
8.3.4傳遞可變對象的引用
8.3.5可選參數
8.3.6位置參數和命名參數
8.3.7可變參數
8.3.8強制命名參數
8.3.9參數類型檢查
8.4函式的返回值
8.4.1return語句和函式返回值
8.4.2多條return語句
8.4.3返回多個值
8.5變數的作用域
8.5.1全局變數
8.5.2局部變數
8.5.3全局語句global
8.5.4非局部語句nonlocal
8.5.5類成員變數
8.5.6輸出局部變數和全局變數
8.6遞歸函式
8.6.1遞歸函式的定義
8.6.2遞歸函式的原理
8.6.3編寫遞歸函式時需要注意的問題
8.6.4遞歸函式的套用: 最大公約數
8.6.5遞歸函式的套用: 漢諾塔
8.7內置函式的使用
8.7.1內置函式一覽
8.7.2eval()函式
8.7.3exec()函式
8.7.4compile()函式
8.8Python函式式編程基礎
8.8.1作為對象的函式
8.8.2高階函式
8.8.3map()函式
8.8.4filter()函式
8.8.5Lambda表達式和匿名函式
8.8.6operator模組和操作符函式
8.8.7functools.reduce()函式
8.8.8偏函式
8.8.9sorted()函式
8.8.10函式裝飾器
8.9複習題
8.10上機實踐
8.11案例研究: 井字棋遊戲
第9章面向對象的程式設計
9.1面向對象概念
9.1.1對象的定義
9.1.2封裝
9.1.3繼承
9.1.4多態性
9.2類對象和實例對象
9.2.1類對象
9.2.2實例對象
9.3屬性
9.3.1實例對象屬性
9.3.2類對象屬性
9.3.3私有屬性和公有屬性
9.3.4@property裝飾器
9.3.5特殊屬性
9.3.6自定義屬性
9.4方法
9.4.1對象實例方法
9.4.2靜態方法
9.4.3類方法
9.4.4__init__()方法和__new__()方法
9.4.5__del__()方法
9.4.6私有方法與公有方法
9.4.7方法的重載
9.5繼承
9.5.1派生類
9.5.2查看繼承的層次關係
9.5.3類成員的繼承和重寫
9.6對象的特殊方法
9.6.1對象的特殊方法概述
9.6.2運算符重載與對象的特殊方法
9.6.3@functools.total_ordering裝飾器
9.6.4__call__()方法和可調用對象
9.7對象的引用、淺拷貝和深拷貝
9.7.1對象的引用
9.7.2對象的淺拷貝
9.7.3對象的深拷貝
9.8可疊代對象: 疊代器和生成器
9.8.1可疊代對象
9.8.2疊代器
9.8.3疊代器協定
9.8.4可疊代對象的疊代: iter()函式和next()函式
9.8.5可疊代對象的疊代: for語句
9.8.6自定義可疊代對象和疊代器
9.8.7生成器函式
9.8.8反向疊代: reversed疊代器
9.8.9生成器表達式
9.8.10range可疊代對象
9.8.11map疊代器和itertools.starmap疊代器
9.8.12filter疊代器和itertools.filterfalse疊代器
9.8.13zip疊代器和itertools.zip_longest疊代器
9.8.14enumerate疊代器
9.8.15無窮序列疊代器itertools.count、cycle和repeat
9.8.16累計疊代器itertools.accumulate
9.8.17級聯疊代器itertools.chain
9.8.18選擇壓縮疊代器itertools.compress
9.8.19截取疊代器itertools.dropwhile和takewhile
9.8.20切片疊代器itertools.islice
9.8.21分組疊代器itertools.groupby
9.8.22返回多個疊代器itertools.tee
9.8.23組合疊代器itertools.combinations和combinations_with_replacement
9.8.24排列疊代器itertools.permutations
9.8.25笛卡兒積疊代器itertools.product
9.9自定義類套用舉例
9.9.1Color類
9.9.2Histogram類
9.10複習題
9.11上機實踐
9.12案例研究: 文本相似度比較分析
第10章模組和客戶端
10.1模組化程式設計的概念
10.1.1模組化程式設計
10.1.2模組的API
10.1.3模組的實現
10.1.4模組的客戶端
10.1.5模組化程式設計的優越性
10.2模組的設計和實現
10.2.1模組設計的一般原則
10.2.2API設計
10.2.3創建模組
10.2.4模組的私有函式
10.2.5模組的測試代碼
10.2.6編寫模組文檔字元串
10.2.7按位元組編譯的.pyc檔案
10.3模組的導入和使用
10.3.1導入模組和使用模組
10.3.2導入模組中的成員
10.3.3重新載入模組
10.3.4動態導入模組
10.4包
10.4.1包的概念
10.4.2創建包
10.4.3包的導入和使用
10.5模組的導入順序
10.5.1導入模組時的搜尋順序
10.5.2模組搜尋路徑
10.5.3dir()函式
10.6名稱空間與名稱查找順序
10.6.1名稱空間概述
10.6.2名稱查找順序
10.6.3頂層模組和__name__變數
10.6.4Python解釋器
10.6.5全局名稱空間
10.6.6局部名稱空間
10.6.7類和對象名稱空間
10.7複習題
10.8上機實踐
10.9案例研究: 基於模組的庫存管理系統
第11章算法與數據結構基礎
11.1算法及其性能分析
11.1.1算法概述
11.1.2算法的時間複雜度分析
11.1.3增長量級
11.1.4算法的空間複雜度分析
11.2查找算法
11.2.1順序查找法
11.2.2二分查找法
11.2.3Python語言提供的查找算法
11.3排序算法
11.3.1冒泡排序法
11.3.2選擇排序法
11.3.3插入排序法
11.3.4歸併排序法
11.3.5快速排序法
11.3.6Python語言提供的排序算法
11.4常用數據結構
11.4.1數據結構概述
11.4.2常用數據結構概述
11.4.3Python中的collections模組
11.5數組
11.5.1列表和數組
11.5.2array.array對象和數組
11.6棧和佇列
11.6.1棧的實現: 使用列表
11.6.2deque對象
11.6.3deque作為棧
11.6.4deque作為佇列
11.7集合
11.7.1集合的定義
11.7.2集合解析表達式
11.7.3判斷集合元素是否存在
11.7.4集合的運算: 並集、交集、差集和對稱差集
11.7.5集合的比較運算: 相等、子集和超集
11.7.6集合的長度、最大值、最小值、元素和
11.7.7可變集合的方法
11.8字典
11.8.1對象的哈希值
11.8.2字典的定義
11.8.3字典的訪問操作
11.8.4字典的視圖對象
11.8.5字典的遍歷
11.8.6字典解析表達式
11.8.7判斷字典鍵是否存在
11.8.8字典對象的長度和比較
11.8.9字典對象的方法
11.8.10defaultdict對象
11.8.11OrderedDict對象
11.8.12ChainMap對象
11.8.13Counter對象
11.9collections模組的其他數據結構
11.9.1namedtuple對象
11.9.2UserDict、UserList和UserString對象
11.10套用舉例
11.10.1去除列表中的重複項
11.10.2基於字典的通訊錄
11.11複習題
11.12上機實踐
11.13案例研究: 程式運行時間度量分析
12.1圖形用戶界面概述
12.1.1tkinter
12.1.2其他GUI庫簡介
12.2tkinter概述
12.2.1tkinter模組
12.2.2圖形用戶界面的構成
12.2.3框架和GUI應用程式類
12.2.4tkinter主視窗
12.3幾何布局管理器
12.3.1pack幾何布局管理器
12.3.2grid幾何布局管理器
12.3.3place幾何布局管理器
12.4事件處理
12.4.1事件類型
12.4.2事件綁定
12.4.3事件處理函式
12.5常用組件
12.5.1Label
12.5.2LabelFrame
12.5.3Button
12.5.4Message
12.5.5Entry
12.5.6Text
12.5.7Radiobutton
12.5.8Checkbutton
12.5.9Listbox
12.5.10OptionMenu
12.5.11Scale
12.5.12Toplevel
12.5.13ttk子模組控制項
12.6對話框
12.6.1通用訊息對話框
12.6.2檔案對話框
12.6.3顏色選擇對話框
12.6.4通用對話框套用舉例
12.6.5簡單對話框
12.7選單和工具列
12.7.1創建主選單
12.7.2創建上下文選單
12.7.3選單套用舉例
12.8基於wxPython的圖形用戶界面設計入門
12.8.1wxPython概述
12.8.2安裝wxPython庫
12.8.3wxPython應用程式的基本架構
12.8.4使用wxPython開發簡易文本編輯器
12.9複習題
12.10上機實踐
12.11案例研究: 簡易圖形用戶界面計算器
第13章圖形繪製
13.1Python繪圖模組概述
13.2基於tkinter的圖形繪製
13.2.1基於tkinter的畫布繪圖概述
13.2.2創建畫布對象
13.2.3繪製矩形
13.2.4繪製橢圓
13.2.5繪製圓弧
13.2.6繪製線條
13.2.7繪製多邊形
13.2.8繪製字元串
13.2.9套用舉例: 繪製函式圖形
13.3基於turtle模組的海龜繪圖
13.3.1海龜繪圖概述
13.3.2turtle模組概述
13.3.3繪製正方形
13.3.4繪製多邊形
13.3.5繪製圓形螺旋
13.3.6遞歸圖形
13.3.7海龜繪圖的套用實例
13.4基於Matplotlib模組的繪圖
13.4.1Matplotlib模組概述
13.4.2安裝Matplotlib模組
13.4.3使用Matplotlib模組繪圖概述
13.4.4繪製函式曲線
13.4.5繪製多個圖形
13.4.6繪製直方圖
13.5複習題
13.6上機實踐
13.7案例研究: 漢諾塔問題求解動畫
第14章數值日期和時間處理
14.1相關模組概述
14.1.1數值處理的相關模組
14.1.2日期和時間處理的相關模組
14.2math模組和數學函式
14.2.1math模組的API
14.2.2math模組套用舉例
14.3cmath模組和複數數學函式
14.4random模組和隨機函式
14.4.1種子和隨機狀態
14.4.2隨機整數
14.4.3隨機序列
14.5數值運算模組NumPy
14.5.1數值運算模組的基本使用
14.5.2創建數組
14.5.3處理數組
14.5.4數組套用舉例
14.6日期和時間處理
14.6.1相關術語
14.6.2時間對象
14.6.3測量程式運行時間
14.6.4日期對象
14.6.5獲取當前日期時間
14.6.6日期時間格式化為字元串
14.6.7日期時間字元串解析為日期時間對象
14.7套用舉例
14.7.1蒙特卡洛模擬: 賭徒破產命運
14.7.2使用隨機數估值圓周率
14.7.3程式運行時間測量
14.8複習題
14.9上機實踐
14.10案例研究: 使用pandas進行數據分析和處理
第15章字元串和文本處理
15.1相關模組概述
15.1.1字元串和文本處理的相關模組
15.1.2字元串處理的常用方法
15.2字元串處理的常用操作
15.2.1字元串的類型判斷
15.2.2字元串的大小寫轉換
15.2.3字元串的填充、空白和對齊
15.2.4字元串的測試、查找和替換
15.2.5字元串的拆分和組合
15.2.6字元串的翻譯和轉換
15.2.7字元串套用舉例
15.3正則表達式
15.3.1正則表達式語言概述
15.3.2正則表達式引擎
15.3.3普通字元和轉義字元
15.3.4字元類和預定義字元類
15.3.5邊界匹配符
15.3.6重複限定符
15.3.7匹配算法: 貪婪和懶惰
15.3.8選擇分支
15.3.9分組和向後引用
15.3.10正則表達式的匹配模式
15.3.11常用正則表達式
15.4正則表達式模組re
15.4.1匹配和搜尋函式
15.4.2匹配選項
15.4.3正則表達式對象
15.4.4匹配對象
15.4.5匹配和替換
15.4.6分隔字元串
15.5正則表達式套用舉例
15.5.1字元串包含驗證
15.5.2字元串的查找和拆分
15.5.3字元串的替換和清除
15.5.4字元串的查找和截取
15.6套用舉例
15.6.1文本統計
15.6.2基因預測
15.6.3字元串的簡單加密和解密
15.7複習題
15.8上機實踐
15.9案例研究: NLTK與自然語言處理
第16章檔案和數據交換
16.1檔案操作相關模組概述
16.2文本檔案的讀取和寫入
16.2.1文本檔案的寫入
16.2.2文本檔案的讀取
16.2.3文本檔案的編碼
16.3二進制檔案的讀取和寫入
16.3.1二進制檔案的寫入
16.3.2二進制檔案的讀取
16.4隨機檔案訪問
16.5記憶體檔案的操作
16.5.1StringIO和記憶體文本檔案的操作
16.5.2BytesIO和記憶體二進制檔案的操作
16.6檔案的壓縮和解壓縮
16.7CSV格式檔案的讀取和寫入
16.7.1csv.reader對象和CSV檔案的讀取
16.7.2csv.writer對象和CSV檔案的寫入
16.7.3csv.DictReader對象和CSV檔案的讀取
16.7.4csv.DictWriter對象和CSV檔案的寫入
16.7.5CSV檔案格式化參數和Dialect對象
16.8輸入重定向和管道
16.8.1FileInput對象
16.8.2fileinput模組的函式
16.8.3輸入重定向
16.9對象序列化
16.9.1對象序列化概述
16.9.2pickle模組和對象序列化
16.9.3json模組和JSON格式數據
16.10複習題
16.11上機實踐
16.12案例研究: 百度音樂批量下載器
第17章資料庫訪問
17.1資料庫基礎
17.1.1資料庫的概念
17.1.2關係資料庫
17.2Python資料庫訪問模組
17.2.1通用資料庫訪問模組
17.2.2專用資料庫訪問模組
17.2.3SQLite資料庫和sqlite3模組
17.3使用sqlite3模組連線和操作SQLite資料庫
17.3.1訪問資料庫的步驟
17.3.2創建資料庫和表
17.3.3資料庫表的插入、更新和刪除操作
17.3.4資料庫表的查詢操作
17.4使用SQLiteStudio查看和維護SQLite資料庫
17.5複習題
17.6上機實踐
17.7案例研究: 基於資料庫和GUI的教務管理系統
第18章網路編程和通信
18.1網路編程的基本概念
18.1.1網路基礎知識
18.1.2TCP/IP協定簡介
18.1.3IP位址和域名
18.2基於socket的網路編程
18.2.1socket概述
18.2.2創建socket對象
18.2.3將伺服器端socket綁定到指定地址
18.2.4伺服器端socket開始偵聽
18.2.5連線和接收連線
18.2.6傳送和接收數據
18.2.7簡單TCP程式: Echo Server
18.2.8簡單UDP程式: Echo Server
18.2.9UDP程式: Quote Server
18.3基於urllib的網路編程
18.3.1打開和讀取URL網路資源
18.3.2創建Request對象
18.4基於http的網路編程
18.5基於ftplib的網路編程
18.5.1創建FTP對象
18.5.2創建FTP_TLS對象
18.6基於poplib和smtplib的網路編程
18.6.1使用poplib接收郵件
18.6.2使用smtplib傳送郵件
18.7複習題
18.8上機實踐
18.9案例研究: 網路爬蟲案例
第19章並行計算: 進程、執行緒和協程
19.1並行處理概述
19.1.1進程、執行緒和協程
19.1.2Python語言與並行處理相關模組
19.2基於執行緒的並發處理
19.2.1threading模組概述
19.2.2使用Thread對象創建執行緒
19.2.3自定義派生於Thread的對象
19.2.4執行緒加入
19.2.5用戶執行緒和daemon執行緒
19.2.6Timer執行緒
19.2.7基於原語鎖的簡單同步
19.2.8基於條件變數的同步和通信
19.2.9基於queue模組中佇列的同步
19.2.10基於Event的同步和通信
19.3基於進程的並行計算
19.3.1multiprocessing模組概述
19.3.2創建和使用進程
19.3.3進程的數據共享
19.3.4進程池
19.4基於執行緒池/進程池的並發和並行任務
19.4.1concurrent.futures模組概述
19.4.2使用ThreadPoolExecutor並發執行任務
19.4.3使用ProcessPoolExecutor並發執行任務
19.5基於asyncio的異步IO編程
19.5.1asyncio模組概述
19.5.2創建協程對象
19.5.3創建任務對象
19.6套用舉例
19.6.1使用Pool並行計算查找素數
19.6.2使用ProcessPoolExecutor並行判斷素數
19.6.3使用ThreadPoolExecutor多執行緒爬取網頁
19.7複習題
19.8上機實踐
19.9案例研究: 文本統計並行處理
第20章系統管理
20.1系統管理相關模組
20.2、檔案和磁碟的基本操作
20.2.1創建
20.2.2臨時和檔案的創建
20.2.3切換和獲取當前工作
20.2.4內容列表
20.2.5檔案通配符和glob.glob()函式
20.2.6遍歷和os.walk()函式
20.2.7判斷檔案/是否存在
20.2.8測試檔案類型
20.2.9檔案的日期及大小
20.2.10檔案和的刪除
20.2.11檔案和的複製、重命名和移動
20.2.12磁碟的基本操作
20.3執行作業系統命令和運行其他程式
20.3.1os.system()函式
20.3.2os.popen()函式
20.3.3subprocess模組
20.4獲取終端的大小
20.5檔案的壓縮和解壓縮
20.5.1shutil模組支持的壓縮和解壓縮格式
20.5.2make_archive()函式和檔案壓縮
20.5.3unpack_archive()函式和檔案解壓縮
20.6configparser模組和配置檔案
20.6.1INI檔案及INI檔案格式
20.6.2ConfigParser對象和INI檔案操作
20.7套用舉例
20.7.1病毒掃描
20.7.2檔案樹
20.8複習題
20.9上機實踐
20.10案例研究: 簡易圖形用戶界面壓縮軟體
參考文獻
2.2.1Python對象概述
2.2.2使用字面量創建實例對象
2.2.3使用類對象創建實例對象
2.2.4數據類型
2.2.5變數和對象的引用
2.2.6Python是動態類型語言
2.2.7Python是強類型語言
2.2.8對象記憶體示意圖
2.2.9對象的值比較和引用判別
2.2.10不可變對象和可變對象
2.3標識符及其命名規則
2.3.1標識符
2.3.2保留關鍵字
2.3.3Python預定義標識符
2.3.4命名規則
2.4變數和賦值語句
2.4.1變數的聲明和賦值
2.4.2鏈式賦值語句
2.4.3複合賦值語句
2.4.4刪除變數
2.4.5序列解包賦值
2.4.6常量
2.5表達式和運算符
2.5.1表達式的組成
2.5.2表達式的書寫規則
2.5.3運算符概述
2.5.4Python運算符
2.6語句
2.6.1Python語句
2.6.2Python語句的書寫規則
2.6.3複合語句及其縮進書寫規則
2.6.4注釋語句
2.6.5空語句
2.7函式和模組
2.7.1函式的創建和調用
2.7.2內置函式
2.7.3模組函式
2.7.4函式API
2.8類和對象
2.8.1創建類對象
2.8.2實例對象的創建和調用
2.9模組和包
2.10複習題
2.11上機實踐
2.12案例研究: 使用Pillow庫處理圖像檔案
第3章程式流程控制
3.1順序結構
3.2選擇結構
3.2.1分支結構的形式
3.2.2單分支結構
3.2.3雙分支結構
3.2.4多分支結構
3.2.5if語句的嵌套
3.2.6if語句的典型示例代碼
3.2.7選擇結構綜合舉例
3.3循環結構
3.3.1可疊代對象
3.3.2range對象
3.3.3for循環
3.3.4while循環
3.3.5循環的嵌套
3.3.6break語句
3.3.7continue語句
3.3.8死循環
3.3.9else子句
3.3.10enumerate()函式和循環
3.3.11zip()函式和循環
3.3.12map()函式和循環
3.3.13循環語句的典型示例代碼
3.3.14循環結構綜合舉例
3.4複習題
3.5上機實踐
3.6案例研究: 使用嵌套循環實現圖像處理算法
第4章常用內置數據類型
4.1Python內置數據類型概述
4.1.1數值數據類型
4.1.2序列數據類型
4.1.3集合數據類型
4.1.4字典數據類型
4.1.5NoneType、NotImplementedType和EllipsisType
4.1.6其他數據類型
4.2int類型
4.2.1整型字面量
4.2.2int對象
4.2.3int對象的方法
4.2.4整數的運算
4.3float類型
4.3.1浮點類型字面量
4.3.2float對象
4.3.3float對象的方法
4.3.4浮點數的運算
4.4complex類型
4.4.1複數類型字面量
4.4.2complex對象
4.4.3complex對象的屬性和方法
4.4.4複數的運算
4.5bool類型
4.5.1布爾值字面量
4.5.2bool對象
4.5.3邏輯運算符
4.6str類型
4.6.1字元串字面量
4.6.2字元串編碼
4.6.3轉義字元
4.6.4str對象
4.6.5str對象的屬性和方法
4.6.6字元串的運算
4.6.7對象轉換為字元串
4.6.8字元串的格式化
4.6.9格式化字元串變數
4.7比較關係運算和條件表達式
4.7.1條件表達式
4.7.2關係和測試運算符
4.8算術運算符和位運算符
4.8.2位運算符
4.9混合運算和數值類型轉換
4.9.1隱式轉換
4.9.2顯式轉換
4.10內置標準數學函式
4.10.1內置數學運算函式
4.10.2數制轉換函式
4.11複習題
4.12上機實踐
4.13案例研究: 科學計算和數據分析
第5章序列數據類型
5.1Python序列數據概述
5.1.1數組
5.1.2Python內置的序列數據類型
5.2序列數據的基本操作
5.2.1序列的長度、最大值、最小值、求和
5.2.2序列的索引訪問操作
5.2.3序列的切片操作
5.2.4序列的連線和重複操作
5.2.5序列的成員關係操作
5.2.6序列的比較運算操作
5.2.7序列的排序操作
5.2.8內置函式all()和any()
5.2.9序列的拆分
5.3元組
5.3.1使用元組字面量創建元組實例對象
5.3.2使用tuple對象創建元組實例對象
5.3.3元組的序列操作
5.4列表
5.4.1使用列表字面量創建列表實例對象
5.4.2使用list對象創建列表實例對象
5.4.3列表的序列操作
5.4.4list對象的方法
5.4.5列表解析表達式
5.5字元串
5.5.1字元串的序列操作
5.5.2字元串編碼
5.5.3字元串的格式化
5.6位元組序列
5.6.1bytes常量
5.6.2創建bytes對象
5.6.3創建bytearray對象
5.6.4bytes和bytearray的序列操作
5.6.5位元組編碼和解碼
5.7複習題
5.8上機實踐
5.9案例研究: 猜單詞遊戲
第6章輸入和輸出
6.1輸入和輸出概述
6.2.1sys.argv與命令行參數
6.2.2argparse模組和命令行參數解析
6.3標準輸入和標準輸出函式
6.3.1輸入和輸出函式
6.3.2互動式用戶輸入
6.3.3運行時提示輸入密碼
6.4檔案和檔案對象
6.4.1檔案對象和open()函式
6.4.2檔案的打開、寫入、讀取和關閉
6.4.3with語句和上下文管理協定
6.5標準輸入、輸出和錯誤流
6.5.1標準輸入、輸出和錯誤流檔案對象
6.5.2讀取任意長度的輸入流
6.5.3標準輸入、輸出和錯誤流重定向
6.6重定向和管道
6.6.1重定向標準輸出到一個檔案
6.6.2重定向檔案到標準輸入
6.6.3管道
6.6.4過濾器
6.7複習題
6.8上機實踐
6.9案例研究: 21點撲克牌遊戲
第7章錯誤和異常處理
7.1程式的錯誤
7.1.1語法錯誤
7.1.2運行時錯誤
7.1.3邏輯錯誤
7.2異常處理
7.2.1異常處理概述
7.2.2內置的異常類
7.2.3引發異常
7.2.4捕獲處理異常機制概述
7.2.5Python虛擬機捕獲處理異常
7.2.6使用try…except…else…finally語句捕獲處理異常
7.2.7捕獲異常的順序
7.2.8finally塊和發生異常後的處理
7.2.9自定義異常類
7.3斷言處理
7.3.1斷言處理概述
7.3.2assert語句和AssertionError類
7.3.3啟用/禁用斷言
7.4程式的基本調試方法
7.4.1語法錯誤的調試
7.4.2運行時錯誤的調試
7.4.3邏輯錯誤的調試
7.5使用logging模組輸入日誌
7.5.1logging模組概述
7.5.2logging的配置和使用
7.6複習題
7.7上機實踐
7.8案例研究: 使用調試器調試Python程式
第8章函式和函式式編程
8.1函式概述
8.1.1函式的基本概念
8.1.2函式的功能
8.1.3Python中函式的分類
8.2函式的聲明和調用
8.2.1函式對象的創建
8.2.2函式的調用
8.2.3函式的副作用
8.3參數的傳遞
8.3.1形式參數和實際參數
8.3.2形式參數變數和對象引用傳遞
8.3.3傳遞不可變對象的引用
8.3.4傳遞可變對象的引用
8.3.5可選參數
8.3.6位置參數和命名參數
8.3.7可變參數
8.3.8強制命名參數
8.3.9參數類型檢查
8.4函式的返回值
8.4.1return語句和函式返回值
8.4.2多條return語句
8.4.3返回多個值
8.5變數的作用域
8.5.1全局變數
8.5.2局部變數
8.5.3全局語句global
8.5.4非局部語句nonlocal
8.5.5類成員變數
8.5.6輸出局部變數和全局變數
8.6遞歸函式
8.6.1遞歸函式的定義
8.6.2遞歸函式的原理
8.6.3編寫遞歸函式時需要注意的問題
8.6.4遞歸函式的套用: 最大公約數
8.6.5遞歸函式的套用: 漢諾塔
8.7內置函式的使用
8.7.1內置函式一覽
8.7.2eval()函式
8.7.3exec()函式
8.7.4compile()函式
8.8Python函式式編程基礎
8.8.1作為對象的函式
8.8.2高階函式
8.8.3map()函式
8.8.4filter()函式
8.8.5Lambda表達式和匿名函式
8.8.6operator模組和操作符函式
8.8.7functools.reduce()函式
8.8.8偏函式
8.8.9sorted()函式
8.8.10函式裝飾器
8.9複習題
8.10上機實踐
8.11案例研究: 井字棋遊戲
第9章面向對象的程式設計
9.1面向對象概念
9.1.1對象的定義
9.1.2封裝
9.1.3繼承
9.1.4多態性
9.2類對象和實例對象
9.2.1類對象
9.2.2實例對象
9.3屬性
9.3.1實例對象屬性
9.3.2類對象屬性
9.3.3私有屬性和公有屬性
9.3.4@property裝飾器
9.3.5特殊屬性
9.3.6自定義屬性
9.4方法
9.4.1對象實例方法
9.4.2靜態方法
9.4.3類方法
9.4.4__init__()方法和__new__()方法
9.4.5__del__()方法
9.4.6私有方法與公有方法
9.4.7方法的重載
9.5繼承
9.5.1派生類
9.5.2查看繼承的層次關係
9.5.3類成員的繼承和重寫
9.6對象的特殊方法
9.6.1對象的特殊方法概述
9.6.2運算符重載與對象的特殊方法
9.6.3@functools.total_ordering裝飾器
9.6.4__call__()方法和可調用對象
9.7對象的引用、淺拷貝和深拷貝
9.7.1對象的引用
9.7.2對象的淺拷貝
9.7.3對象的深拷貝
9.8可疊代對象: 疊代器和生成器
9.8.1可疊代對象
9.8.2疊代器
9.8.3疊代器協定
9.8.4可疊代對象的疊代: iter()函式和next()函式
9.8.5可疊代對象的疊代: for語句
9.8.6自定義可疊代對象和疊代器
9.8.7生成器函式
9.8.8反向疊代: reversed疊代器
9.8.9生成器表達式
9.8.10range可疊代對象
9.8.11map疊代器和itertools.starmap疊代器
9.8.12filter疊代器和itertools.filterfalse疊代器
9.8.13zip疊代器和itertools.zip_longest疊代器
9.8.14enumerate疊代器
9.8.15無窮序列疊代器itertools.count、cycle和repeat
9.8.16累計疊代器itertools.accumulate
9.8.17級聯疊代器itertools.chain
9.8.18選擇壓縮疊代器itertools.compress
9.8.19截取疊代器itertools.dropwhile和takewhile
9.8.20切片疊代器itertools.islice
9.8.21分組疊代器itertools.groupby
9.8.22返回多個疊代器itertools.tee
9.8.23組合疊代器itertools.combinations和combinations_with_replacement
9.8.24排列疊代器itertools.permutations
9.8.25笛卡兒積疊代器itertools.product
9.9自定義類套用舉例
9.9.1Color類
9.9.2Histogram類
9.10複習題
9.11上機實踐
9.12案例研究: 文本相似度比較分析
第10章模組和客戶端
10.1模組化程式設計的概念
10.1.1模組化程式設計
10.1.2模組的API
10.1.3模組的實現
10.1.4模組的客戶端
10.1.5模組化程式設計的優越性
10.2模組的設計和實現
10.2.1模組設計的一般原則
10.2.2API設計
10.2.3創建模組
10.2.4模組的私有函式
10.2.5模組的測試代碼
10.2.6編寫模組文檔字元串
10.2.7按位元組編譯的.pyc檔案
10.3模組的導入和使用
10.3.1導入模組和使用模組
10.3.2導入模組中的成員
10.3.3重新載入模組
10.3.4動態導入模組
10.4包
10.4.1包的概念
10.4.2創建包
10.4.3包的導入和使用
10.5模組的導入順序
10.5.1導入模組時的搜尋順序
10.5.2模組搜尋路徑
10.5.3dir()函式
10.6名稱空間與名稱查找順序
10.6.1名稱空間概述
10.6.2名稱查找順序
10.6.3頂層模組和__name__變數
10.6.4Python解釋器
10.6.5全局名稱空間
10.6.6局部名稱空間
10.6.7類和對象名稱空間
10.7複習題
10.8上機實踐
10.9案例研究: 基於模組的庫存管理系統
第11章算法與數據結構基礎
11.1算法及其性能分析
11.1.1算法概述
11.1.2算法的時間複雜度分析
11.1.3增長量級
11.1.4算法的空間複雜度分析
11.2查找算法
11.2.1順序查找法
11.2.2二分查找法
11.2.3Python語言提供的查找算法
11.3排序算法
11.3.1冒泡排序法
11.3.2選擇排序法
11.3.3插入排序法
11.3.4歸併排序法
11.3.5快速排序法
11.3.6Python語言提供的排序算法
11.4常用數據結構
11.4.1數據結構概述
11.4.2常用數據結構概述
11.4.3Python中的collections模組
11.5數組
11.5.1列表和數組
11.5.2array.array對象和數組
11.6棧和佇列
11.6.1棧的實現: 使用列表
11.6.2deque對象
11.6.3deque作為棧
11.6.4deque作為佇列
11.7集合
11.7.1集合的定義
11.7.2集合解析表達式
11.7.3判斷集合元素是否存在
11.7.4集合的運算: 並集、交集、差集和對稱差集
11.7.5集合的比較運算: 相等、子集和超集
11.7.6集合的長度、最大值、最小值、元素和
11.7.7可變集合的方法
11.8字典
11.8.1對象的哈希值
11.8.2字典的定義
11.8.3字典的訪問操作
11.8.4字典的視圖對象
11.8.5字典的遍歷
11.8.6字典解析表達式
11.8.7判斷字典鍵是否存在
11.8.8字典對象的長度和比較
11.8.9字典對象的方法
11.8.10defaultdict對象
11.8.11OrderedDict對象
11.8.12ChainMap對象
11.8.13Counter對象
11.9collections模組的其他數據結構
11.9.1namedtuple對象
11.9.2UserDict、UserList和UserString對象
11.10套用舉例
11.10.1去除列表中的重複項
11.10.2基於字典的通訊錄
11.11複習題
11.12上機實踐
11.13案例研究: 程式運行時間度量分析
12.1圖形用戶界面概述
12.1.1tkinter
12.1.2其他GUI庫簡介
12.2tkinter概述
12.2.1tkinter模組
12.2.2圖形用戶界面的構成
12.2.3框架和GUI應用程式類
12.2.4tkinter主視窗
12.3幾何布局管理器
12.3.1pack幾何布局管理器
12.3.2grid幾何布局管理器
12.3.3place幾何布局管理器
12.4事件處理
12.4.1事件類型
12.4.2事件綁定
12.4.3事件處理函式
12.5常用組件
12.5.1Label
12.5.2LabelFrame
12.5.3Button
12.5.4Message
12.5.5Entry
12.5.6Text
12.5.7Radiobutton
12.5.8Checkbutton
12.5.9Listbox
12.5.10OptionMenu
12.5.11Scale
12.5.12Toplevel
12.5.13ttk子模組控制項
12.6對話框
12.6.1通用訊息對話框
12.6.2檔案對話框
12.6.3顏色選擇對話框
12.6.4通用對話框套用舉例
12.6.5簡單對話框
12.7選單和工具列
12.7.1創建主選單
12.7.2創建上下文選單
12.7.3選單套用舉例
12.8基於wxPython的圖形用戶界面設計入門
12.8.1wxPython概述
12.8.2安裝wxPython庫
12.8.3wxPython應用程式的基本架構
12.8.4使用wxPython開發簡易文本編輯器
12.9複習題
12.10上機實踐
12.11案例研究: 簡易圖形用戶界面計算器
第13章圖形繪製
13.1Python繪圖模組概述
13.2基於tkinter的圖形繪製
13.2.1基於tkinter的畫布繪圖概述
13.2.2創建畫布對象
13.2.3繪製矩形
13.2.4繪製橢圓
13.2.5繪製圓弧
13.2.6繪製線條
13.2.7繪製多邊形
13.2.8繪製字元串
13.2.9套用舉例: 繪製函式圖形
13.3基於turtle模組的海龜繪圖
13.3.1海龜繪圖概述
13.3.2turtle模組概述
13.3.3繪製正方形
13.3.4繪製多邊形
13.3.5繪製圓形螺旋
13.3.6遞歸圖形
13.3.7海龜繪圖的套用實例
13.4基於Matplotlib模組的繪圖
13.4.1Matplotlib模組概述
13.4.2安裝Matplotlib模組
13.4.3使用Matplotlib模組繪圖概述
13.4.4繪製函式曲線
13.4.5繪製多個圖形
13.4.6繪製直方圖
13.5複習題
13.6上機實踐
13.7案例研究: 漢諾塔問題求解動畫
第14章數值日期和時間處理
14.1相關模組概述
14.1.1數值處理的相關模組
14.1.2日期和時間處理的相關模組
14.2math模組和數學函式
14.2.1math模組的API
14.2.2math模組套用舉例
14.3cmath模組和複數數學函式
14.4random模組和隨機函式
14.4.1種子和隨機狀態
14.4.2隨機整數
14.4.3隨機序列
14.5數值運算模組NumPy
14.5.1數值運算模組的基本使用
14.5.2創建數組
14.5.3處理數組
14.5.4數組套用舉例
14.6日期和時間處理
14.6.1相關術語
14.6.2時間對象
14.6.3測量程式運行時間
14.6.4日期對象
14.6.5獲取當前日期時間
14.6.6日期時間格式化為字元串
14.6.7日期時間字元串解析為日期時間對象
14.7套用舉例
14.7.1蒙特卡洛模擬: 賭徒破產命運
14.7.2使用隨機數估值圓周率
14.7.3程式運行時間測量
14.8複習題
14.9上機實踐
14.10案例研究: 使用pandas進行數據分析和處理
第15章字元串和文本處理
15.1相關模組概述
15.1.1字元串和文本處理的相關模組
15.1.2字元串處理的常用方法
15.2字元串處理的常用操作
15.2.1字元串的類型判斷
15.2.2字元串的大小寫轉換
15.2.3字元串的填充、空白和對齊
15.2.4字元串的測試、查找和替換
15.2.5字元串的拆分和組合
15.2.6字元串的翻譯和轉換
15.2.7字元串套用舉例
15.3正則表達式
15.3.1正則表達式語言概述
15.3.2正則表達式引擎
15.3.3普通字元和轉義字元
15.3.4字元類和預定義字元類
15.3.5邊界匹配符
15.3.6重複限定符
15.3.7匹配算法: 貪婪和懶惰
15.3.8選擇分支
15.3.9分組和向後引用
15.3.10正則表達式的匹配模式
15.3.11常用正則表達式
15.4正則表達式模組re
15.4.1匹配和搜尋函式
15.4.2匹配選項
15.4.3正則表達式對象
15.4.4匹配對象
15.4.5匹配和替換
15.4.6分隔字元串
15.5正則表達式套用舉例
15.5.1字元串包含驗證
15.5.2字元串的查找和拆分
15.5.3字元串的替換和清除
15.5.4字元串的查找和截取
15.6套用舉例
15.6.1文本統計
15.6.2基因預測
15.6.3字元串的簡單加密和解密
15.7複習題
15.8上機實踐
15.9案例研究: NLTK與自然語言處理
第16章檔案和數據交換
16.1檔案操作相關模組概述
16.2文本檔案的讀取和寫入
16.2.1文本檔案的寫入
16.2.2文本檔案的讀取
16.2.3文本檔案的編碼
16.3二進制檔案的讀取和寫入
16.3.1二進制檔案的寫入
16.3.2二進制檔案的讀取
16.4隨機檔案訪問
16.5記憶體檔案的操作
16.5.1StringIO和記憶體文本檔案的操作
16.5.2BytesIO和記憶體二進制檔案的操作
16.6檔案的壓縮和解壓縮
16.7CSV格式檔案的讀取和寫入
16.7.1csv.reader對象和CSV檔案的讀取
16.7.2csv.writer對象和CSV檔案的寫入
16.7.3csv.DictReader對象和CSV檔案的讀取
16.7.4csv.DictWriter對象和CSV檔案的寫入
16.7.5CSV檔案格式化參數和Dialect對象
16.8輸入重定向和管道
16.8.1FileInput對象
16.8.2fileinput模組的函式
16.8.3輸入重定向
16.9對象序列化
16.9.1對象序列化概述
16.9.2pickle模組和對象序列化
16.9.3json模組和JSON格式數據
16.10複習題
16.11上機實踐
16.12案例研究: 百度音樂批量下載器
第17章資料庫訪問
17.1資料庫基礎
17.1.1資料庫的概念
17.1.2關係資料庫
17.2Python資料庫訪問模組
17.2.1通用資料庫訪問模組
17.2.2專用資料庫訪問模組
17.2.3SQLite資料庫和sqlite3模組
17.3使用sqlite3模組連線和操作SQLite資料庫
17.3.1訪問資料庫的步驟
17.3.2創建資料庫和表
17.3.3資料庫表的插入、更新和刪除操作
17.3.4資料庫表的查詢操作
17.4使用SQLiteStudio查看和維護SQLite資料庫
17.5複習題
17.6上機實踐
17.7案例研究: 基於資料庫和GUI的教務管理系統
第18章網路編程和通信
18.1網路編程的基本概念
18.1.1網路基礎知識
18.1.2TCP/IP協定簡介
18.1.3IP位址和域名
18.2基於socket的網路編程
18.2.1socket概述
18.2.2創建socket對象
18.2.3將伺服器端socket綁定到指定地址
18.2.4伺服器端socket開始偵聽
18.2.5連線和接收連線
18.2.6傳送和接收數據
18.2.7簡單TCP程式: Echo Server
18.2.8簡單UDP程式: Echo Server
18.2.9UDP程式: Quote Server
18.3基於urllib的網路編程
18.3.1打開和讀取URL網路資源
18.3.2創建Request對象
18.4基於http的網路編程
18.5基於ftplib的網路編程
18.5.1創建FTP對象
18.5.2創建FTP_TLS對象
18.6基於poplib和smtplib的網路編程
18.6.1使用poplib接收郵件
18.6.2使用smtplib傳送郵件
18.7複習題
18.8上機實踐
18.9案例研究: 網路爬蟲案例
第19章並行計算: 進程、執行緒和協程
19.1並行處理概述
19.1.1進程、執行緒和協程
19.1.2Python語言與並行處理相關模組
19.2基於執行緒的並發處理
19.2.1threading模組概述
19.2.2使用Thread對象創建執行緒
19.2.3自定義派生於Thread的對象
19.2.4執行緒加入
19.2.5用戶執行緒和daemon執行緒
19.2.6Timer執行緒
19.2.7基於原語鎖的簡單同步
19.2.8基於條件變數的同步和通信
19.2.9基於queue模組中佇列的同步
19.2.10基於Event的同步和通信
19.3基於進程的並行計算
19.3.1multiprocessing模組概述
19.3.2創建和使用進程
19.3.3進程的數據共享
19.3.4進程池
19.4基於執行緒池/進程池的並發和並行任務
19.4.1concurrent.futures模組概述
19.4.2使用ThreadPoolExecutor並發執行任務
19.4.3使用ProcessPoolExecutor並發執行任務
19.5基於asyncio的異步IO編程
19.5.1asyncio模組概述
19.5.2創建協程對象
19.5.3創建任務對象
19.6套用舉例
19.6.1使用Pool並行計算查找素數
19.6.2使用ProcessPoolExecutor並行判斷素數
19.6.3使用ThreadPoolExecutor多執行緒爬取網頁
19.7複習題
19.8上機實踐
19.9案例研究: 文本統計並行處理
第20章系統管理
20.1系統管理相關模組
20.2、檔案和磁碟的基本操作
20.2.1創建
20.2.2臨時和檔案的創建
20.2.3切換和獲取當前工作
20.2.4內容列表
20.2.5檔案通配符和glob.glob()函式
20.2.6遍歷和os.walk()函式
20.2.7判斷檔案/是否存在
20.2.8測試檔案類型
20.2.9檔案的日期及大小
20.2.10檔案和的刪除
20.2.11檔案和的複製、重命名和移動
20.2.12磁碟的基本操作
20.3執行作業系統命令和運行其他程式
20.3.1os.system()函式
20.3.2os.popen()函式
20.3.3subprocess模組
20.4獲取終端的大小
20.5檔案的壓縮和解壓縮
20.5.1shutil模組支持的壓縮和解壓縮格式
20.5.2make_archive()函式和檔案壓縮
20.5.3unpack_archive()函式和檔案解壓縮
20.6configparser模組和配置檔案
20.6.1INI檔案及INI檔案格式
20.6.2ConfigParser對象和INI檔案操作
20.7套用舉例
20.7.1病毒掃描
20.7.2檔案樹
20.8複習題
20.9上機實踐
20.10案例研究: 簡易圖形用戶界面壓縮軟體
參考文獻

相關詞條

熱門詞條

聯絡我們