第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編寫(xiě)代碼
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編寫(xiě)代碼
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ù)類(lèi)型
5.1數(shù)字類(lèi)型
5.1.1整數(shù)類(lèi)型
5.1.2浮點(diǎn)類(lèi)型
5.1.3復(fù)數(shù)類(lèi)型
5.1.4布爾類(lèi)型
5.2數(shù)字類(lèi)型相互轉(zhuǎn)換
5.2.1隱式類(lèi)型轉(zhuǎn)換
5.2.2顯式類(lèi)型轉(zhuǎn)換
5.3字符串類(lèi)型
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ù)類(lèi)型
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類(lèi)和對(duì)象
10.3.1定義類(lèi)
10.3.2創(chuàng)建和使用對(duì)象
10.3.3實(shí)例變量
10.3.4類(lèi)變量
10.3.5構(gòu)造方法
10.3.6實(shí)例方法
10.3.7類(lèi)方法
10.3.8靜態(tài)方法
10.4封裝性
10.4.1私有變量
10.4.2私有方法
10.4.3定義屬性
10.5繼承性
10.5.1繼承概念
10.5.2重寫(xiě)方法
10.5.3多繼承
10.6多態(tài)性
10.6.1多態(tài)概念
10.6.2類(lèi)型檢查
10.6.3鴨子類(lèi)型
10.7Python根類(lèi)object
10.7.1str()方法
10.7.2對(duì)象比較方法
10.8枚舉類(lèi)
10.8.1定義枚舉類(lèi)
10.8.2限制枚舉類(lèi)
10.8.3使用枚舉類(lèi)
10.9本章小結(jié)
10.10同步練習(xí)
第11章異常處理
11.1異常問(wèn)題舉例
11.2異常類(lèi)繼承層次
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自定義異常類(lèi)
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類(lèi)
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字符類(lèi)
13.2.1定義字符類(lèi)
13.2.2字符類(lèi)取反
13.2.3區(qū)間
13.2.4預(yù)定義字符類(lèi)
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文本文件讀寫(xiě)
14.1.4二進(jìn)制文件讀寫(xiě)
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ù)查詢(xún)操作
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圖形用戶(hù)界面編程
17.1Python圖形用戶(hù)界面開(kāi)發(fā)工具包
17.2wxPython安裝
17.3wxPython基礎(chǔ)
17.3.1wxPython類(lèi)層次結(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多線(xiàn)程編程
18.1基礎(chǔ)知識(shí)
18.1.1進(jìn)程
18.1.2線(xiàn)程
18.2threading模塊
18.3創(chuàng)建線(xiàn)程
18.3.1自定義函數(shù)作為線(xiàn)程體
18.3.2繼承Thread線(xiàn)程類(lèi)實(shí)現(xiàn)線(xiàn)程體
18.4線(xiàn)程管理
18.4.1等待線(xiàn)程結(jié)束
18.4.2線(xiàn)程停止
18.5線(xiàn)程安全
18.5.1臨界資源問(wèn)題
18.5.2多線(xiàn)程同步
18.6線(xiàn)程間通信
18.6.1使用Condition實(shí)現(xiàn)線(xiàn)程間通信
18.6.2使用Event實(shí)現(xiàn)線(xiàn)程間通信
18.7本章小結(jié)
18.8同步練習(xí)
第19章項(xiàng)目實(shí)戰(zhàn)1: 網(wǎng)絡(luò)爬蟲(chóng)與爬取股票數(shù)據(jù)
19.1網(wǎng)絡(luò)爬蟲(chóng)技術(shù)概述
19.1.1網(wǎng)絡(luò)通信技術(shù)
19.1.2多線(xiàn)程技術(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爬蟲(chóng)工作計(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繪制折線(xiàn)圖
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繪制股票成交量折線(xiàn)圖
20.2.3繪制股票O(jiān)HLC柱狀圖
20.2.4繪制股票K線(xiàn)圖
附錄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ù)類(lèi)型
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圖形用戶(hù)界面編程
A.18第18章Python多線(xiàn)程編程