Python 3.6零基礎入門與實戰

Python 3.6零基礎入門與實戰

作者: 王啟明 羅從良
出版社: 清華大學
出版在: 2018-10-01
ISBN-13: 9787302509301
ISBN-10: 7302509301
裝訂格式: 平裝





內容描述


隨著大數據技術的發展及Python在人工智能領域的火熱應用,Python得到越來越多的應用。
本書就是在這個背景下編寫的,是一本Python 3.6入門教材,特別適合想直接切入爬蟲編程及大數據分析處理的讀者學習使用。
本書贈送示例源代碼與教學視頻。
本書分為16章,主要內容包括開發環境、數據結構、函數、面向對象、多線程、模塊、包、GUI模塊、圖形模塊、正則模塊、文件處理模塊、網絡編程模塊和爬蟲模塊等,並且為每個模塊提供了實戰示例,最後用兩章來介紹數據庫編程實戰和爬蟲框架實戰。
本書內容詳盡、示例豐富,適合廣大Python入門讀者和Python開發人員閱讀,同時也可作為高等院校和培訓學校計算機相關專業的師生教學參考。

海報:


目錄大綱


第1章搭建Python開發環境1 
1.1 Python的版本說明1 
1.2 Python的安裝2 
1.2.1 Windows下安裝Python 2 
1.2.2 Linux下安裝Python 6 
1.3打開Python的方式8 
1.4交互模式解釋器9 
1.5第一個Python程序Hello World 10 
1.5.1交互式10 
1.5.2腳本式10 
1.6 Python開發工具11 
1.6.1 Python自帶集成開發環境IDEL 11 
1.6.2安裝PyCharm集成開發環境14 
1.6.3使用PyCharm集成開發環境21 
1.7注意Python的縮進22 
第2章Python中的數據與結構24 
2.1 Python中的標準數據類型24 
2.2變量25 
2.3數字26 
2.3.1使用整型26 
2.3.2使用浮點型27 
2.3 .3使用布爾型28 
2.3.4使用複數型29 
2.4字符串29 
2.4.1字符串的單引號、雙引號、三引號29 
2.4.2字符串的截取30
2.4.3字符串的拼接31 
2.4.4字符串的各種常用運算符32 
2.4.5字符串的轉義33 
2.4.6字符串的格式化符號34 
2.4.7字符串的內置函數37 
2.5列表39 
2.5.1使用列表39 
2.5.2訪問列表40 
2.5.3列表常用的內置函數41 
2.5.4列表排序43 
2.5.5刪除列表44 
2.5.6獲取列表中的最大值和最小值45 
2.5.7列表常用運算符45 
2.6元組46 
2.6.1使用元組46 
2.6.2訪問元組47 
2.6.3元組常用的內置函數47 
2.6.4刪除元組48 
2.6.5獲取元組中的最大值和最小值48 
2.6.6元組常用運算符48 
2.6.7元組與列表的轉換49 
2.7字典49 
2.7.1使用字典49 
2.7.2訪問字典50 
2.7.3字典常用的內置函數50 
2.7.4刪除字典52 
2.7.5字典常用運算符53 
2.8集合53 
2.8.1使用集合54 
2.8.2集合常用的內置函數54
2.8.3集合常用運算符(交集、並集、差集、對稱差集) 56 
2.9推導式57 
2.9.1初識推導57 
2.9.2嵌套推導58 
2.10數據結構實戰:文本統計分析59 
2.10. 1文本統計功能59 
2.10.2文本比較功能60 
第3章結構語句62 
3.1順序、選擇和循環62 
3.1.1順序結構62 
3.1.2選擇結構63 
3.1.3循環結構64 
3.2用if選擇64 
3.2. 1選擇語句格式65 
3.2.2選擇語句詳解66 
3.2.3選擇語句的嵌套66 
3.3用while循環67 
3.3.1 while語句基本格式67 
3.3.2 while語句的應用68 
3.3.3無限循環(死循環) 69 
3.3.4帶else的while循環70 
3.4用for循環71 
3.4.1 for語句基本格式71 
3.4.2 for語句的應用71 
3.4.3 for與range結合遍歷數字序列72 
3.5中斷語句break、continue 73 
3.5.1 break語句73 
3.5.2 continue語句74
3.6循環實戰:九九乘法表75 
第4章函數77 
4.1使用函數77 
4.1.1定義函數77 
4.1.2函數的返回值78 
4.1.3函數的嵌套78 
4.2函數的參數79 
4.2.1形參、實參79 
4.2.2必要參數79 
4.2.3有默認值的參數80 
4.2.4關鍵字參數81 
4.2.5不定長參數(可變參數) 82 
4.2.6各種參數組合83 
4.3全局變量、局部變量83 
4.3.1全局和局部的概念83 
4.3.2函數中局部變量的作用域84 
4.3.3 global全局變量84 
4.4匿名函數85 
4.4.1使用匿名函數85 
4.4.2匿名函數的參數默認值86 
4.5函數實戰:八皇后問題86 
第5章面向對象編程92 
5.1面向對象基礎92 
5.2定義與使用類93 
5.2.1類的定義93 
5.2.2類的構造方法和析構方法94 
5.2.3類的私有屬性95 
5.2.4類的私有方法96 
5.2.5一個完整的類96 
5.3類與類的關係97
5.3.1單繼承98 
5.3.2多繼承99 
5.3.3類的關聯和依賴99 
5.3.4類的聚合和復合101 
5.4重寫102 
5.5魔術方法102 
5.5.1魔術方法的概念102 
5.5.2魔術方法的應用103 
5.6迭代器106 
5.7生成器107 
5.7.1生成器的概念107 
5.7.2生成器的應用107 
5.8裝飾器108 
5.8.1裝飾器基礎108 
5.8.2不帶參數的裝飾器109 
5.8 .3帶參數的裝飾器110 
5.8.4多個裝飾器裝飾一個函數111 
5.9上下文管理器與with語句112 
5.9.1上下文管理器的幾個概念112 
5.9.2上下文管理器的應用113 
5.9.3自定義上下文管理器113 
5.10面向對象實戰:數字圖形114 
5.10.1需求分析114 
5.10.2程序開發118 
5.10.3程序入口123 
第6章程序異常與調試124 
6.1識別異常124 
6.1.1異常的概念124 
6.1.2語法引出的異常125
6.1.3運行時引出的異常125 
6.1.4分析異常提示信息125 
6.2 Python中處理異常的語法126 
6.3處理異常的細節127 
6.3.1 except語句的多種形式127 
6.3.2拋出異常(引發異常)raise 130 
6.4自定義異常130 
6.5調試程序131 
6.5.1 IDLE的簡單調試131 
6.5.2利用日誌模塊logging調試132 
6.5.3利用pdb調試133 
6.6異常實戰:計算機猜數135 
6.6.1需求分析135 
6.6.2算法分析136 
6.6.3編程實現138 
6.6.4異常處理141 
6.6.5異常類定義141 
6.6.6拋出和捕獲異常142 
第7章多線程145 
7.1線程的概念145 
7.2創建多線程146 
7.2.1通過threading.Thread()創建線程146 
7.2.2通過繼承threading.Thread類創建線程147 
7.3主線程148 
7.4阻塞線程149 
7.5判斷線程是否是活動的150 
7.6線程同步152 
7.6.1同步的概念152
7.6.2 Python中的鎖153 
7.6.3 Python中的條件鎖153 
第8章模塊和包157 
8.1模塊157 
8.1.1標準庫中的模塊157 
8.1.2查看模塊的代碼158 
8.2導入模塊160 
8.2. 1最簡單的導入160 
8.2.2 from…import語句161 
8.2.3 from…import *語句162 
8.2.4導入自定義的模塊162 
8.3包163 
8.3.1包和模塊的區別163 
8.3.2包的結構164 
8.3.3導入自定義的包164 
8.4命名空間165 
8.4.1命名空間166 
8.4.2全局命名空間167 
8.4.3局部命名空間168 
8.4.4命名空間和類169 
8.4.5命名空間和類的實例化170 
8.4.6命名空間和類的繼承172 
第9章Tkinter模塊——圖形界面編程174 
9.1 Tkinter模塊174 
9.1.1 Tkinter模塊的Hello World程序175 
9.1.2 tkinter包介紹177 
9.1.3主窗口178 
9.2 Tkinter控件179
9.2.1控件的介紹179 
9.2.2控件的特性181 
9.2.3 Tkinter幾何管理器182 
9.2.4 Tkinter事件及回調185 
9.3 Tkinter實戰186 
9.3.1創建主窗口186 
9.3.2添加菜單欄及菜單選項186 
9.3.3添加下拉菜單188 
9.3.4實現簡單記事本190 
第10章re模塊——正則表達式193 
10.1正則表達式簡介193 
10.1.1正則表達式概念193 
10.1.2正則表達式構成194 
10.2 re模塊的簡單應用196 
10.3常用正則表達式199 
10.3.1常用數字表達式的校驗200 
10.3.2常用字符表達式的校驗202 
10.3.3特殊需求表達式的校驗203 
第11章os模塊與shutil模塊——文件處理206 
11.1 os模塊206 
11.1.1獲取系統類型206 
11.1.2獲取系統環境207 
11.1.3執行系統命令208 
11.1.4操作目錄及文件209 
11.2 shutil模塊214 
11.2.1複製文件214 
11.2.2移動文件216
11.2.3讀取壓縮及歸檔壓縮文件216 
11.2.4解壓文件217 
11.3文件處理實戰217 
第12章PIL(Pillow)模塊——圖像實戰220 
12.1 Pillow庫簡介與安裝220 
12.1.1 Pillow庫的介紹221 
12.1.2 Pillow庫的安裝221 
12.2 Image類的使用222 
12.2.1 Image類的屬性222 
12.2.2 Image類的函數223 
12.3圖像的基本合成231 
12.3.1調用Image.composite接口231 
12.3.2調用Image .blend接口232 
12.3.3調用Image.paste接口232 
12.4圖像的變換233 
12.4.1圖像格式及尺寸變換233 
12.4.2圖像通道變換234 
12.4.3圖像幾何變換235 
12.4.4圖像變換成OpenCV格式235 
12.5圖像處理實戰236 
第13章socket模塊——網絡編程237 
13.1網絡編程基礎237 
13.1.1網絡協議237 
13.1.2 IP地址與端口239 
13.1.3 socket 240 
13.2使用TCP的服務器與客戶端246
13.2.1 TCP工作原理246 
13.2.2 TCP服務器的實現247 
13.2.3 TCP客戶端的實現248 
13.3使用UDP的服務器與客戶端250 
13.3.1 UDP工作原理251 
13.3.2 UDP服務器的實現251 
13.3.3 UDP客戶端的實現252 
13.4網絡編程實戰253 
第14章urllib工具包——網絡爬蟲編程257 
14.1 urllib、urllib2與urllib3的異同257 
14.2 request模塊259 
14.2.1 urlopen()、build_opener()和build_opener()方法260 
14.2.2 Request類263 
14.2.3其他類266 
14.3 error模塊267 
14.4 parse模塊268 
14.4.1 URL解析268 
14.4.2 URL轉義271 
14.5 robotparser模塊274 
14.6 urllib網絡爬蟲實戰275 
第15章Python數據庫編程實戰278 
15.1操作SQLite 278 
15.1.1創建SQLite數據庫278 
15.1.2創建SQLite數據表279 
15.1.3為數據表添加數據280
15.1.4查詢數據280 
15.1.5更新數據281 
15.1.6刪除數據281 
15.1.7 connect和cursor的各種函數281 
15.2操作MySQL 282 
15.2.1安裝PyMySQL庫282 
15.2.2連接MySQL數據庫283 
15.2.3增、刪、查、改數據284 
15.3使用ORM框架SQLAlchemy操作MySQL 284 
15.3.1 ORM的意義285 
15.3.2安裝SQLAlchemy 285 
15.3.3導入SQLAlchemy 286 
15.3.4使用SQLAlchemy操作數據庫286 
第16章Scrapy爬蟲實戰288 
16.1安裝Scrapy 288 
16.1.1 Windows下安裝Scrapy環境288 
16.1.2 Linux下安裝Scrapy 289 
16.1.3 vim編輯器290 
16.2 Scrapy選擇器XPath和CSS 291 
16.2.1 XPath選擇器291 
16.2.2 CSS選擇器294 
16.2.3其他選擇器295 
16.3天氣預報項目296 
16.3.1項目準備296 
16.3.2創建編輯Scrapy爬蟲297
16.3.3數據存儲到json 303 
16.3.4數據存儲到MySQL 305


作者介紹


作者:王啟明
王啟明,平頂山學院老師,主講軟件基礎語言C和Python,目前是學校信息化小組的主要帶頭人,計算機教研組組長。
長期工作在教學一線,承擔了本科生教學及畢業設計任務。C和Python課收到學生好評。




相關書籍

基於深度學習的自然語言處理/智能科學與技術叢書

作者 約阿夫·戈爾德貝格 (Yoav Goldberg)

2018-10-01

Tinyml: Machine Learning with Tensorflow Lite on Arduino and Ultra-Low-Power Microcontrollers (Paperback)

作者 Warden Pete Situnayake Daniel

2018-10-01

Text Mining and Visualization: Case Studies Using Open-Source Tools (Hardcover)

作者 Markus Hofmann Andrew Chisholm

2018-10-01