第1章緒論
1.1Python語言歷史
1.2Python語言設(shè)計哲學(xué)Python之禪
1.3Python語言特點
1.4Python語言應(yīng)用前景
1.5如何獲得幫助
1.6同步練習(xí)
第2章搭建開發(fā)環(huán)境
2.1搭建Python環(huán)境
2.2PyCharm開發(fā)工具
2.2.1下載和安裝
2.2.2設(shè)置Python解釋器
2.3Eclipse PyDev開發(fā)工具
2.3.1JDK下載和安裝
2.3.2設(shè)置環(huán)境變量
2.3.3Eclipse下載和安裝
2.3.4安裝PyDev插件
2.3.5設(shè)置Python解釋器
2.3.6設(shè)置UTF8編碼
2.4Visual Studio Code開發(fā)工具
2.5文本編輯工具
2.6本章小結(jié)
2.7同步練習(xí)
第3章第一個Python程序
3.1使用Python Shell實現(xiàn)
3.2使用PyCharm實現(xiàn)
3.2.1創(chuàng)建項目
3.2.2創(chuàng)建Python代碼文件
3.2.3編寫代碼
3.2.4運行程序
3.3使用Eclipse PyDev插件實現(xiàn)
3.3.1創(chuàng)建項目
3.3.2創(chuàng)建Python代碼文件
3.3.3運行程序
3.4使用Visual Studio Code實現(xiàn)
3.4.1創(chuàng)建Python代碼文件
3.4.2運行程序
3.5使用文本編輯工具 Python解釋器實現(xiàn)
3.5.1編寫代碼
3.5.2運行程序
3.6代碼解釋
3.7本章小結(jié)
3.8同步練習(xí)
第4章Python語法基礎(chǔ)
4.1標(biāo)識符和關(guān)鍵字
4.1.1標(biāo)識符
4.1.2關(guān)鍵字
4.2變量和常量
4.2.1變量
4.2.2常量
4.3注釋
4.4語句
4.5模塊
4.6包
4.6.1創(chuàng)建包
4.6.2導(dǎo)入包
4.7本章小結(jié)
4.8同步練習(xí)
第5章數(shù)據(jù)類型
5.1數(shù)字類型
5.1.1整數(shù)類型
5.1.2浮點類型
5.1.3復(fù)數(shù)類型
5.1.4布爾類型
5.2數(shù)字類型相互轉(zhuǎn)換
5.2.1隱式類型轉(zhuǎn)換
5.2.2顯式類型轉(zhuǎn)換
5.3字符串類型
5.3.1字符串表示方式
5.3.2字符串格式化
5.3.3字符串查找
5.3.4字符串與數(shù)字相互轉(zhuǎn)換
5.4本章小結(jié)
5.5同步練習(xí)
第6章運算符
6.1算術(shù)運算符
6.1.1一元運算符
6.1.2二元運算符
6.2關(guān)系運算符
6.3邏輯運算符
6.4位運算符
6.5賦值運算符
6.6其他運算符
6.6.1同一性測試運算符
6.6.2成員測試運算符
6.7運算符優(yōu)先級
6.8本章小結(jié)
6.9同步練習(xí)
第7章控制語句
7.1分支語句
7.1.1if結(jié)構(gòu)
7.1.2ifelse結(jié)構(gòu)
7.1.3elif結(jié)構(gòu)
7.1.4三元運算符替代品條件表達式
7.2循環(huán)語句
7.2.1while語句
7.2.2for語句
7.3跳轉(zhuǎn)語句
7.3.1break語句
7.3.2continue語句
7.3.3while和for中的else語句
7.4使用范圍
7.5本章小結(jié)
7.6同步練習(xí)
第8章數(shù)據(jù)結(jié)構(gòu)
8.1元組
8.1.1序列
8.1.2創(chuàng)建元組
8.1.3訪問元組
8.1.4遍歷元組
8.2列表
8.2.1創(chuàng)建列表
8.2.2追加元素
8.2.3插入元素
8.2.4替換元素
8.2.5刪除元素
8.2.6其他常用方法
8.2.7列表推導(dǎo)式
8.3集合
8.3.1創(chuàng)建可變集合
8.3.2修改可變集合
8.3.3遍歷集合
8.3.4不可變集合
8.3.5集合推導(dǎo)式
8.4字典
8.4.1創(chuàng)建字典
8.4.2修改字典
8.4.3訪問字典
8.4.4遍歷字典
8.4.5字典推導(dǎo)式
8.5本章小結(jié)
8.6同步練習(xí)
第9章函數(shù)
9.1定義函數(shù)
9.2函數(shù)參數(shù)
9.2.1使用關(guān)鍵字參數(shù)調(diào)用函數(shù)
9.2.2參數(shù)默認值
9.2.3可變參數(shù)
9.3函數(shù)返回值
9.3.1無返回值函數(shù)
9.3.2多返回值函數(shù)
9.4函數(shù)變量作用域
9.5生成器
9.6嵌套函數(shù)
9.7函數(shù)式編程基礎(chǔ)
9.7.1函數(shù)類型
9.7.2Lambda表達式
9.7.3三大基礎(chǔ)函數(shù)
9.8本章小結(jié)
9.9同步練習(xí)
第10章面向?qū)ο缶幊?/p>
10.1面向?qū)ο蟾攀?/p>
10.2面向?qū)ο笕齻基本特性
10.2.1封裝性
10.2.2繼承性
10.2.3多態(tài)性
10.3類和對象
10.3.1定義類
10.3.2創(chuàng)建和使用對象
10.3.3實例變量
10.3.4類變量
10.3.5構(gòu)造方法
10.3.6實例方法
10.3.7類方法
10.3.8靜態(tài)方法
10.4封裝性
10.4.1私有變量
10.4.2私有方法
10.4.3定義屬性
10.5繼承性
10.5.1繼承概念
10.5.2重寫方法
10.5.3多繼承
10.6多態(tài)性
10.6.1多態(tài)概念
10.6.2類型檢查
10.6.3鴨子類型
10.7Python根類object
10.7.1str()方法
10.7.2對象比較方法
10.8枚舉類
10.8.1定義枚舉類
10.8.2限制枚舉類
10.8.3使用枚舉類
10.9本章小結(jié)
10.10同步練習(xí)
第11章異常處理
11.1異常問題舉例
11.2異常類繼承層次
11.3常見異常
11.3.1AttributeError異常
11.3.2OSError異常
11.3.3IndexError異常
11.3.4KeyError異常
11.3.5NameError異常
11.3.6TypeError異常
11.3.7ValueError異常
11.4捕獲異常
11.4.1tryexcept語句
11.4.2多except代碼塊
11.4.3tryexcept語句嵌套
11.4.4多重異常捕獲
11.5異常堆棧跟蹤
11.6釋放資源
11.6.1finally代碼塊
11.6.2else代碼塊
11.6.3with as代碼塊自動管理資源
11.7自定義異常類
11.8顯式拋出異常
11.9本章小結(jié)
11.10同步練習(xí)
第12章常用模塊
12.1math模塊
12.1.1舍入函數(shù)
12.1.2冪和對數(shù)函數(shù)
12.1.3三角函數(shù)
12.2random模塊
12.3datetime模塊
12.3.1datetime、date和time類
12.3.2日期和時間計算
12.3.3日期和時間格式化和解析
12.3.4時區(qū)
12.4logging日志模塊
12.4.1日志級別
12.4.2日志信息格式化
12.4.3日志重定位
12.4.4配置文件的使用
12.5本章小結(jié)
12.6同步練習(xí)
第13章正則表達式
13.1正則表達式字符串
13.1.1元字符
13.1.2字符轉(zhuǎn)義
13.1.3開始與結(jié)束字符
13.2字符類
13.2.1定義字符類
13.2.2字符類取反
13.2.3區(qū)間
13.2.4預(yù)定義字符類
13.3量詞
13.3.1量詞的使用
13.3.2貪婪量詞和懶惰量詞
13.4分組
13.4.1分組的使用
13.4.2分組的命名
13.4.3反向引用分組
13.4.4非捕獲分組
13.5re模塊
13.5.1search()和match()函數(shù)
13.5.2findall()和finditer()函數(shù)
13.5.3字符串分割
13.5.4字符串替換
13.6編譯正則表達式
13.6.1已編譯正則表達式對象
13.6.2編譯標(biāo)志
13.7本章小結(jié)
13.8同步練習(xí)
第14章文件操作與管理
14.1文件操作
14.1.1文件打開
14.1.2文件關(guān)閉
14.1.3文本文件讀寫
14.1.4二進制文件讀寫
14.2os模塊
14.3os.path模塊
14.4本章小結(jié)
14.5同步練習(xí)
第15章數(shù)據(jù)庫編程
15.1數(shù)據(jù)持久化技術(shù)概述
15.2MySQL數(shù)據(jù)庫管理系統(tǒng)
15.2.1數(shù)據(jù)庫安裝與配置
15.2.2連接MySQL服務(wù)器
15.2.3常見的管理命令
15.3Python DBAPI
15.3.1建立數(shù)據(jù)連接
15.3.2創(chuàng)建游標(biāo)
15.4案例: MySQL數(shù)據(jù)庫CRUD操作
15.4.1安裝PyMySQL模塊
15.4.2數(shù)據(jù)庫編程的一般過程
15.4.3數(shù)據(jù)查詢操作
15.4.4數(shù)據(jù)修改操作
15.5NoSQL數(shù)據(jù)存儲
15.5.1dbm數(shù)據(jù)庫的打開和關(guān)閉
15.5.2dbm數(shù)據(jù)存儲
15.6本章小結(jié)
15.7同步練習(xí)
第16章網(wǎng)絡(luò)編程
16.1網(wǎng)絡(luò)基礎(chǔ)
16.1.1網(wǎng)絡(luò)結(jié)構(gòu)
16.1.2TCP/IP協(xié)議
16.1.3IP地址
16.1.4端口
16.2TCP Socket低層次網(wǎng)絡(luò)編程
16.2.1 TCP Socket通信概述
16.2.2TCP Socket通信過程
16.2.3TCP Socket編程API
16.2.4案例: 簡單聊天工具
16.2.5案例: 文件上傳工具
16.3UDP Socket低層次網(wǎng)絡(luò)編程
16.3.1UDP Socket編程API
16.3.2案例: 簡單聊天工具
16.3.3案例: 文件上傳工具
16.4訪問互聯(lián)網(wǎng)資源
16.4.1URL概念
16.4.2HTTP/HTTPS協(xié)議
16.4.3使用urllib庫
16.4.4發(fā)送GET請求
16.4.5發(fā)送POST請求
16.4.6實例: Downloader
16.5本章小結(jié)
16.6同步練習(xí)
第17章wxPython圖形用戶界面編程
17.1Python圖形用戶界面開發(fā)工具包
17.2wxPython安裝
17.3wxPython基礎(chǔ)
17.3.1wxPython類層次結(jié)構(gòu)
17.3.2第一個wxPython程序
17.3.3wxPython界面構(gòu)建層次結(jié)構(gòu)
17.4事件處理
17.4.1一對一事件處理
17.4.2一對多事件處理
17.4.3示例: 鼠標(biāo)事件處理
17.5布局管理
17.5.1Box布局器
17.5.2StaticBox布局
17.5.3Grid布局
17.5.4FlexGrid布局
17.6wxPython控件
17.6.1靜態(tài)文本和按鈕
17.6.2文本輸入
17.6.3復(fù)選框和單選按鈕
17.6.4下拉列表
17.6.5列表
17.6.6靜態(tài)圖片
17.7高級窗口
17.7.1分隔窗口
17.7.2使用樹
17.7.3使用網(wǎng)格
17.8使用菜單
17.9使用工具欄
17.10本章小結(jié)
17.11同步練習(xí)
第18章Python多線程編程
18.1基礎(chǔ)知識
18.1.1進程
18.1.2線程
18.2threading模塊
18.3創(chuàng)建線程
18.3.1自定義函數(shù)作為線程體
18.3.2繼承Thread線程類實現(xiàn)線程體
18.4線程管理
18.4.1等待線程結(jié)束
18.4.2線程停止
18.5線程安全
18.5.1臨界資源問題
18.5.2多線程同步
18.6線程間通信
18.6.1使用Condition實現(xiàn)線程間通信
18.6.2使用Event實現(xiàn)線程間通信
18.7本章小結(jié)
18.8同步練習(xí)
第19章項目實戰(zhàn)1: 網(wǎng)絡(luò)爬蟲與爬取股票數(shù)據(jù)
19.1網(wǎng)絡(luò)爬蟲技術(shù)概述
19.1.1網(wǎng)絡(luò)通信技術(shù)
19.1.2多線程技術(shù)
19.1.3數(shù)據(jù)交換技術(shù)
19.1.4Web前端技術(shù)
19.1.5數(shù)據(jù)分析技術(shù)
19.1.6數(shù)據(jù)存儲技術(shù)
19.2爬取數(shù)據(jù)
19.2.1網(wǎng)頁中靜態(tài)和動態(tài)數(shù)據(jù)
19.2.2使用urllib爬取數(shù)據(jù)
19.2.3使用Selenium爬取數(shù)據(jù)
19.3分析數(shù)據(jù)
19.3.1使用正則表達式
19.3.2使用BeautifulSoup庫
19.4項目實戰(zhàn): 爬取納斯達克股票數(shù)據(jù)
19.4.1爬取數(shù)據(jù)
19.4.2檢測數(shù)據(jù)是否更新
19.4.3分析數(shù)據(jù)
19.4.4保存數(shù)據(jù)到數(shù)據(jù)庫
19.4.5爬蟲工作計劃任務(wù)
第20章項目實戰(zhàn)2: 數(shù)據(jù)可視化與股票數(shù)據(jù)分析
20.1使用Matplotlib繪制圖表
20.1.1安裝Matplotlib
20.1.2圖表基本構(gòu)成要素
20.1.3繪制折線圖
20.1.4繪制柱狀圖
20.1.5繪制餅狀圖
20.1.6繪制散點圖
20.1.7繪制子圖表
20.2項目實戰(zhàn): 納斯達克股票數(shù)據(jù)分析
20.2.1從數(shù)據(jù)庫提取股票數(shù)據(jù)
20.2.2繪制股票成交量折線圖
20.2.3繪制股票O(jiān)HLC柱狀圖
20.2.4繪制股票K線圖
附錄A同步練習(xí)參考答案
A.1第1章緒論
A.2第2章搭建開發(fā)環(huán)境
A.3第3章第一個Python程序
A.4第4章Python語法基礎(chǔ)
A.5第5章數(shù)據(jù)類型
A.6第6章運算符
A.7第7章控制語句
A.8第8章數(shù)據(jù)結(jié)構(gòu)
A.9第9章函數(shù)
A.10第10章面向?qū)ο缶幊?/p>
A.11第11章異常處理
A.12第12章常用模塊
A.13第13章正則表達式
A.14第14章文件操作與管理
A.15第15章數(shù)據(jù)庫編程
A.16第16章網(wǎng)絡(luò)編程
A.17第17章wxPython圖形用戶界面編程
A.18第18章Python多線程編程