第1章緒論
1.1Python語(yǔ)言歷史
1.2Python語(yǔ)言設(shè)計(jì)哲學(xué)Python之禪
1.3Python語(yǔ)言特點(diǎn)
1.4Python語(yǔ)言應(yīng)用前景
1.5如何獲得幫助
1.6同步練習(xí)
第2章搭建開(kāi)發(fā)環(huán)境
2.1搭建Python環(huán)境
2.2PyCharm開(kāi)發(fā)工具
2.2.1下載和安裝
2.2.2設(shè)置Python解釋器
2.3Eclipse PyDev開(kāi)發(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開(kāi)發(fā)工具
2.5文本編輯工具
2.6本章小結(jié)
2.7同步練習(xí)
第3章第一個(gè)Python程序
3.1使用Python Shell實(shí)現(xiàn)
3.2使用PyCharm實(shí)現(xiàn)
3.2.1創(chuàng)建項(xiàng)目
3.2.2創(chuàng)建Python代碼文件
3.2.3編寫代碼
3.2.4運(yùn)行程序
3.3使用Eclipse PyDev插件實(shí)現(xiàn)
3.3.1創(chuàng)建項(xiàng)目
3.3.2創(chuàng)建Python代碼文件
3.3.3運(yùn)行程序
3.4使用Visual Studio Code實(shí)現(xiàn)
3.4.1創(chuàng)建Python代碼文件
3.4.2運(yùn)行程序
3.5使用文本編輯工具 Python解釋器實(shí)現(xiàn)
3.5.1編寫代碼
3.5.2運(yùn)行程序
3.6代碼解釋
3.7本章小結(jié)
3.8同步練習(xí)
第4章Python語(yǔ)法基礎(chǔ)
4.1標(biāo)識(shí)符和關(guān)鍵字
4.1.1標(biāo)識(shí)符
4.1.2關(guān)鍵字
4.2變量和常量
4.2.1變量
4.2.2常量
4.3注釋
4.4語(yǔ)句
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浮點(diǎn)類型
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章運(yùn)算符
6.1算術(shù)運(yùn)算符
6.1.1一元運(yùn)算符
6.1.2二元運(yùn)算符
6.2關(guān)系運(yùn)算符
6.3邏輯運(yùn)算符
6.4位運(yùn)算符
6.5賦值運(yùn)算符
6.6其他運(yùn)算符
6.6.1同一性測(cè)試運(yùn)算符
6.6.2成員測(cè)試運(yùn)算符
6.7運(yùn)算符優(yōu)先級(jí)
6.8本章小結(jié)
6.9同步練習(xí)
第7章控制語(yǔ)句
7.1分支語(yǔ)句
7.1.1if結(jié)構(gòu)
7.1.2ifelse結(jié)構(gòu)
7.1.3elif結(jié)構(gòu)
7.1.4三元運(yùn)算符替代品條件表達(dá)式
7.2循環(huán)語(yǔ)句
7.2.1while語(yǔ)句
7.2.2for語(yǔ)句
7.3跳轉(zhuǎn)語(yǔ)句
7.3.1break語(yǔ)句
7.3.2continue語(yǔ)句
7.3.3while和for中的else語(yǔ)句
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訪問(wèn)元組
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訪問(wèn)字典
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ù)默認(rèn)值
9.2.3可變參數(shù)
9.3函數(shù)返回值
9.3.1無(wú)返回值函數(shù)
9.3.2多返回值函數(shù)
9.4函數(shù)變量作用域
9.5生成器
9.6嵌套函數(shù)
9.7函數(shù)式編程基礎(chǔ)
9.7.1函數(shù)類型
9.7.2Lambda表達(dá)式
9.7.3三大基礎(chǔ)函數(shù)
9.8本章小結(jié)
9.9同步練習(xí)
第10章面向?qū)ο缶幊?/p>
10.1面向?qū)ο蟾攀?/p>
10.2面向?qū)ο笕齻(gè)基本特性
10.2.1封裝性
10.2.2繼承性
10.2.3多態(tài)性
10.3類和對(duì)象
10.3.1定義類
10.3.2創(chuàng)建和使用對(duì)象
10.3.3實(shí)例變量
10.3.4類變量
10.3.5構(gòu)造方法
10.3.6實(shí)例方法
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對(duì)象比較方法
10.8枚舉類
10.8.1定義枚舉類
10.8.2限制枚舉類
10.8.3使用枚舉類
10.9本章小結(jié)
10.10同步練習(xí)
第11章異常處理
11.1異常問(wèn)題舉例
11.2異常類繼承層次
11.3常見(jiàn)異常
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語(yǔ)句
11.4.2多except代碼塊
11.4.3tryexcept語(yǔ)句嵌套
11.4.4多重異常捕獲
11.5異常堆棧跟蹤
11.6釋放資源
11.6.1finally代碼塊
11.6.2else代碼塊
11.6.3with as代碼塊自動(dòng)管理資源
11.7自定義異常類
11.8顯式拋出異常
11.9本章小結(jié)
11.10同步練習(xí)
第12章常用模塊
12.1math模塊
12.1.1舍入函數(shù)
12.1.2冪和對(duì)數(shù)函數(shù)
12.1.3三角函數(shù)
12.2random模塊
12.3datetime模塊
12.3.1datetime、date和time類
12.3.2日期和時(shí)間計(jì)算
12.3.3日期和時(shí)間格式化和解析
12.3.4時(shí)區(qū)
12.4logging日志模塊
12.4.1日志級(jí)別
12.4.2日志信息格式化
12.4.3日志重定位
12.4.4配置文件的使用
12.5本章小結(jié)
12.6同步練習(xí)
第13章正則表達(dá)式
13.1正則表達(dá)式字符串
13.1.1元字符
13.1.2字符轉(zhuǎn)義
13.1.3開(kāi)始與結(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編譯正則表達(dá)式
13.6.1已編譯正則表達(dá)式對(duì)象
13.6.2編譯標(biāo)志
13.7本章小結(jié)
13.8同步練習(xí)
第14章文件操作與管理
14.1文件操作
14.1.1文件打開(kāi)
14.1.2文件關(guān)閉
14.1.3文本文件讀寫
14.1.4二進(jìn)制文件讀寫
14.2os模塊
14.3os.path模塊
14.4本章小結(jié)
14.5同步練習(xí)
第15章數(shù)據(jù)庫(kù)編程
15.1數(shù)據(jù)持久化技術(shù)概述
15.2MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)
15.2.1數(shù)據(jù)庫(kù)安裝與配置
15.2.2連接MySQL服務(wù)器
15.2.3常見(jiàn)的管理命令
15.3Python DBAPI
15.3.1建立數(shù)據(jù)連接
15.3.2創(chuàng)建游標(biāo)
15.4案例: MySQL數(shù)據(jù)庫(kù)CRUD操作
15.4.1安裝PyMySQL模塊
15.4.2數(shù)據(jù)庫(kù)編程的一般過(guò)程
15.4.3數(shù)據(jù)查詢操作
15.4.4數(shù)據(jù)修改操作
15.5NoSQL數(shù)據(jù)存儲(chǔ)
15.5.1dbm數(shù)據(jù)庫(kù)的打開(kāi)和關(guān)閉
15.5.2dbm數(shù)據(jù)存儲(chǔ)
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通信過(guò)程
16.2.3TCP Socket編程API
16.2.4案例: 簡(jiǎn)單聊天工具
16.2.5案例: 文件上傳工具
16.3UDP Socket低層次網(wǎng)絡(luò)編程
16.3.1UDP Socket編程API
16.3.2案例: 簡(jiǎn)單聊天工具
16.3.3案例: 文件上傳工具
16.4訪問(wèn)互聯(lián)網(wǎng)資源
16.4.1URL概念
16.4.2HTTP/HTTPS協(xié)議
16.4.3使用urllib庫(kù)
16.4.4發(fā)送GET請(qǐng)求
16.4.5發(fā)送POST請(qǐng)求
16.4.6實(shí)例: Downloader
16.5本章小結(jié)
16.6同步練習(xí)
第17章wxPython圖形用戶界面編程
17.1Python圖形用戶界面開(kāi)發(fā)工具包
17.2wxPython安裝
17.3wxPython基礎(chǔ)
17.3.1wxPython類層次結(jié)構(gòu)
17.3.2第一個(gè)wxPython程序
17.3.3wxPython界面構(gòu)建層次結(jié)構(gòu)
17.4事件處理
17.4.1一對(duì)一事件處理
17.4.2一對(duì)多事件處理
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高級(jí)窗口
17.7.1分隔窗口
17.7.2使用樹(shù)
17.7.3使用網(wǎng)格
17.8使用菜單
17.9使用工具欄
17.10本章小結(jié)
17.11同步練習(xí)
第18章Python多線程編程
18.1基礎(chǔ)知識(shí)
18.1.1進(jìn)程
18.1.2線程
18.2threading模塊
18.3創(chuàng)建線程
18.3.1自定義函數(shù)作為線程體
18.3.2繼承Thread線程類實(shí)現(xiàn)線程體
18.4線程管理
18.4.1等待線程結(jié)束
18.4.2線程停止
18.5線程安全
18.5.1臨界資源問(wèn)題
18.5.2多線程同步
18.6線程間通信
18.6.1使用Condition實(shí)現(xiàn)線程間通信
18.6.2使用Event實(shí)現(xiàn)線程間通信
18.7本章小結(jié)
18.8同步練習(xí)
第19章項(xiàng)目實(shí)戰(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ù)存儲(chǔ)技術(shù)
19.2爬取數(shù)據(jù)
19.2.1網(wǎng)頁(yè)中靜態(tài)和動(dòng)態(tài)數(shù)據(jù)
19.2.2使用urllib爬取數(shù)據(jù)
19.2.3使用Selenium爬取數(shù)據(jù)
19.3分析數(shù)據(jù)
19.3.1使用正則表達(dá)式
19.3.2使用BeautifulSoup庫(kù)
19.4項(xiàng)目實(shí)戰(zhàn): 爬取納斯達(dá)克股票數(shù)據(jù)
19.4.1爬取數(shù)據(jù)
19.4.2檢測(cè)數(shù)據(jù)是否更新
19.4.3分析數(shù)據(jù)
19.4.4保存數(shù)據(jù)到數(shù)據(jù)庫(kù)
19.4.5爬蟲工作計(jì)劃任務(wù)
第20章項(xiàng)目實(shí)戰(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繪制散點(diǎn)圖
20.1.7繪制子圖表
20.2項(xiàng)目實(shí)戰(zhàn): 納斯達(dá)克股票數(shù)據(jù)分析
20.2.1從數(shù)據(jù)庫(kù)提取股票數(shù)據(jù)
20.2.2繪制股票成交量折線圖
20.2.3繪制股票O(jiān)HLC柱狀圖
20.2.4繪制股票K線圖
附錄A同步練習(xí)參考答案
A.1第1章緒論
A.2第2章搭建開(kāi)發(fā)環(huán)境
A.3第3章第一個(gè)Python程序
A.4第4章Python語(yǔ)法基礎(chǔ)
A.5第5章數(shù)據(jù)類型
A.6第6章運(yùn)算符
A.7第7章控制語(yǔ)句
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章正則表達(dá)式
A.14第14章文件操作與管理
A.15第15章數(shù)據(jù)庫(kù)編程
A.16第16章網(wǎng)絡(luò)編程
A.17第17章wxPython圖形用戶界面編程
A.18第18章Python多線程編程