Python程序設計——深入理解電腦系統的語言
關東升
相關主題
商品描述
目錄大綱
目錄
第1章引言
1.1Python語言歷史
1.2Python語言設計哲學——Python之禪
1.3Python語言特點
1.4Python語言應用前景
第2章準備開發環境
2.1安裝Python解釋器
2.2PyCharm開發工具
2.2.1下載和安裝
2.2.2設置Python解釋器
2.3文本編輯工具
2.4本章小結
2.5上機實驗
第3章編寫第1個Python程序
3.1使用Python Shell
3.2使用PyCharm實現
3.2.1創建項目
3.2.2創建Python代碼文件
3.2.3編寫代碼
3.2.4運行程序
3.3文本編輯工具+Python解釋器實現
3.3.1編寫代碼
3.3.2運行程序
3.4代碼解釋
3.5本章小結
第4章Python語法基礎
4.1標識符和關鍵字
4.1.1標識符
4.1.2關鍵字
4.2變量和常量
4.2.1變量
4.2.2常量
4.3註釋
4.4語句
4.5模塊
4.6包
4.6.1創建包
4.6.2包導入
4.7本章小結
4.8同步練習
第5章數據類型
5.1數字類型
5.1.1整數類型
5.1.2浮點類型
5.1.3復數類型
5.1.4布爾類型
5.2數字類型相互轉換
5.2.1隱式類型轉換
5.2.2顯式類型轉換
5.3字符串類型
5.3.1字符串表示方式
5.3.2字符串格式化
5.3.3字符串查找
5.3.4字符串與數字相互轉換
5.4本章小結
5.5同步練習
第6章運算符
6.1算術運算符
6.1.1一元運算符
6.1.2二元運算符
6.2關系運算符
6.3邏輯運算符
6.4位運算符
6.5賦值運算符
6.6其他運算符
6.6.1同一性測試運算符
6.6.2成員測試運算符
6.7運算符優先級
6.8本章小結
6.9同步練習
第7章控制語句
7.1分支語句
7.1.1if結構
7.1.2ifelse結構
7.1.3elif結構
7.1.4三元運算符替代品——條件表達式
7.2循環語句
7.2.1while語句
7.2.2for語句
7.3跳轉語句
7.3.1break語句
7.3.2continue語句
7.3.3while和for中的else語句
7.4使用範圍
7.5本章小結
7.6同步練習
7.7上機實驗: 計算水仙花數
第8章序列
8.1序列概述
8.1.1索引操作
8.1.2序列的加和乘
8.1.3序列切片
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.4本章小結
8.5同步練習
8.6上機實驗: 使用列表推導式
第9章集合
9.1可變集合
9.1.1創建可變集合
9.1.2修改可變集合
9.1.3遍歷集合
9.2不可變集合
9.3集合推導式
9.4本章小結
9.5同步練習
9.6上機實驗: 使用集合推導式
第10章字典
10.1創建字典
10.1.1使用大括號創建字典
10.1.2使用dict()函數創建字典
10.2修改字典
10.3訪問字典
10.4遍歷字典
10.5字典推導式
10.6本章小結
10.7同步練習
10.8上機實驗: 使用字典推導式
第11章函數與函數式編程
11.1定義函數
11.2函數參數
11.2.1使用關鍵字參數調用函數
11.2.2參數默認值
11.2.3單星號(*)可變參數
11.2.4雙星號(**)可變參數
11.3函數返回值
11.3.1無返回值函數
11.3.2多返回值函數
11.4函數變量作用域
11.5生成器
11.6嵌套函數
11.7函數式編程基礎
11.7.1高階函數與函數類型
11.7.2函數作為其他函數返回值使用
11.7.3函數作為其他函數參數使用
11.7.4匿名函數與lambda表達式
11.8函數式編程的三大基礎函數
11.8.1過濾函數filter()
11.8.2映射函數map()
11.8.3聚合函數reduce()
11.9裝飾器
11.9.1一個沒有使用裝飾器的示例
11.9.2使用裝飾器
11.9.3同時使用多個裝飾器
11.9.4給裝飾器傳遞參數
11.10本章小結
11.11同步練習
11.12上機實驗: 找出素數
第12章面向對象編程
12.1面向對象概述
12.2面向對象三個基本特性
12.2.1封裝性
12.2.2繼承性
12.2.3多態性
12.3類和對象
12.3.1定義類
12.3.2創建和使用對象
12.3.3實例變量
12.3.4類變量
12.3.5構造方法
12.3.6實例方法
12.3.7類方法
12.3.8靜態方法
12.4封裝性
12.4.1私有變量
12.4.2私有方法
12.4.3定義屬性
12.5繼承性
12.5.1繼承概念
12.5.2重寫方法
12.5.3多繼承
12.6多態性
12.6.1多態概念
12.6.2類型檢查
12.6.3鴨子類型
12.7Python根類——object
12.7.1__str__()方法
12.7.2對象比較方法
12.8本章小結
12.9同步練習
12.10上機實驗: 設計多繼承騾子類
第13章異常處理
13.1一個異常示例
13.2異常類繼承層次
13.3常見異常
13.3.1AttributeError異常
13.3.2OSError異常
13.3.3IndexError異常
13.3.4KeyError異常
13.3.5NameError異常
13.3.6TypeError異常
13.3.7ValueError異常
13.4捕獲異常
13.4.1tryexcept語句
13.4.2多except代碼塊
13.4.3tryexcept語句嵌套
13.4.4多重異常捕獲
13.5異常堆棧跟蹤
13.6釋放資源
13.6.1finally代碼塊
13.6.2else代碼塊
13.6.3with as代碼塊自動資源管理
13.7自定義異常類
13.8顯式拋出異常
13.9本章小結
13.10同步練習
13.11上機實驗: 釋放資源
第14章常用模塊
14.1math模塊
14.1.1舍入函數
14.1.2冪和對數函數
14.1.3三角函數
14.2random模塊
14.3datetime模塊
14.3.1datetime、date和time類
14.3.2日期和時間計算
14.3.3日期和時間格式化與解析
14.3.4時區
14.4本章小結
14.5同步練習
14.6上機實驗: 輸入與轉換日期
第15章正則表達式
15.1正則表達式中的字符
15.1.1元字符
15.1.2字符轉義
15.1.3開始與結束字符
15.2字符類
15.2.1定義字符類
15.2.2字符類取反
15.2.3區間
15.2.4預定義字符類
15.3量詞
15.3.1使用量詞
15.3.2貪婪量詞和懶惰量詞
15.4分組
15.4.1定義分組
15.4.2命名分組
15.4.3反向引用分組
15.4.4非捕獲分組
15.5re模塊中的重要函數
15.5.1search()和match()函數
15.5.2findall()和finditer()函數
15.5.3字符串分割
15.5.4字符串替換
15.6編譯正則表達式
15.6.1已編譯正則表達式對象
15.6.2編譯標志
15.7本章小結
15.8同步練習
15.9上機實驗: 找出HTML中圖片
第16章文件操作與管理
16.1文件操作
16.1.1打開文件
16.1.2關閉文件
16.1.3文本文件讀寫
16.1.4二進制文件讀寫
16.2os模塊
16.3os.path模塊
16.4本章小結
16.5同步練習
16.6上機實驗: 讀寫日期
第17章數據交換格式
17.1XML數據交換格式
17.1.1XML文檔結構
17.1.2解析XML文檔
17.1.3使用XPath
17.2JSON數據交換格式
17.2.1JSON文檔結構
17.2.2JSON數據編碼
17.2.3JSON數據解碼
17.3本章小結
17.4同步練習
17.5上機實驗: 解析結構化文檔
第18章數據庫編程
18.1數據持久化技術概述
18.2MySQL數據庫管理系統
18.2.1數據庫安裝和配置
18.2.2登錄服務器
18.2.3常見的管理命令
18.3Python DBAPI
18.3.1建立數據連接
18.3.2創建游標
18.4實例: User表CRUD操作
18.4.1安裝PyMySQL庫
18.4.2數據庫編程一般過程
18.4.3數據查詢操作
18.4.4數據修改操作
18.5NoSQL數據存儲
18.5.1dbm數據庫的打開和關閉
18.5.2dbm數據存儲
18.6本章小結
18.7同步練習
18.8上機實驗: 從結構化文檔遷移數據到數據庫
第19章網絡編程
19.1網絡基礎
19.1.1網絡結構
19.1.2TCP/IP
19.1.3IP地址
19.1.4埠
19.2TCP Socket低層次網絡編程
19.2.1TCP Socket通信概述
19.2.2TCP Socket通信過程
19.2.3TCP Socket編程API
19.2.4實例: 簡單聊天工具
19.2.5實例: 文件上傳工具
19.3UDP Socket低層次網絡編程
19.3.1UDP Socket編程API
19.3.2實例: 簡單聊天工具
19.3.3實例: 文件上傳工具
19.4訪問互聯網資源
19.4.1URL概念
19.4.2HTTP/HTTPS
19.4.3搭建自己的Web服務器
19.4.4使用urllib庫
19.4.5發送GET請求
19.4.6發送POST請求
19.4.7實例: 圖片下載器
19.5本章小結
19.6同步練習
19.7上機實驗: 解析來自Web的結構化數據
第20章圖形用戶界面編程
20.1Python圖形用戶界面開發工具包
20.2wxPython安裝
20.3wxPython基礎
20.3.1wxPython類層次結構
20.3.2第一個wxPython程序
20.3.3wxPython界面構建層次結構
20.3.4界面設計工具
20.4事件處理
20.4.1一對一事件處理
20.4.2一對多事件處理
20.5佈局管理
20.5.1不要使用絕對佈局
20.5.2Sizer佈局管理器
20.6wxPython基本控件
20.6.1靜態文本和按鈕
20.6.2文本輸入控件
20.6.3復選框
20.6.4單選按鈕
20.6.5下拉列表
20.6.6列表
20.6.7靜態圖片控件
20.7實例: 圖書信息網格
20.8本章小結
20.9同步練習
20.10上機實驗: 展示Web數據
第21章Python多線程編程
21.1基礎知識
21.1.1進程
21.1.2線程
21.2使用threading模塊
21.3創建線程
21.3.1自定義函數作為線程體
21.3.2繼承Thread線程類實現線程體
21.4線程管理
21.4.1等待線程結束
21.4.2線程停止
21.5線程安全
21.5.1臨界資源問題
21.5.2多線程同步
21.6線程間通信
21.6.1使用Condition實現線程間通信
21.6.2使用Event實現線程間通信
21.7本章小結
21.8同步練習
21.9上機實驗: 網絡爬蟲
附錄A同步練習參考答案