Python程序設計案例課堂 Python程序设计案例课堂

劉春茂、裴雨龍、展娜娜

  • 出版商: 清華大學
  • 出版日期: 2017-10-01
  • 售價: $414
  • 貴賓價: 9.5$393
  • 語言: 簡體中文
  • 頁數: 427
  • 裝訂: 平裝
  • ISBN: 7302483922
  • ISBN-13: 9787302483922

立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

本書以零基礎講解為宗旨,用實例引導讀者深入學習,採取“基礎知識→核心技術→高級應用→項目開發實戰”的講解模式,深入淺出地講解Python的各項技術及實戰技能。適合任何想學習Python編程語言的人員,無論您是否從事電腦相關行業,是否接觸過Python語言,通過學習均可快速掌握Python在項目開發中的知識和技巧。


本書第1篇基礎知識主要講解揭開Python 神秘面紗、基礎語法、列表、元組、字典、字符串操作、流程控制和函數等

第2篇核心技術主要講解對象與類、程序調試和異常處理、模塊與類庫、迭代器、操作文件的方法、圖形用戶界面和流行的Python開發工具等

第3篇高級應用主要講解Python的高級技術、數據庫的應用技術、網絡編程的應用、腳本程序設計和網頁資料的處理方法等;第4篇項目開發實戰主要講解開發學生信息管理系統、開發網絡聊天室系統和開發網絡數據分析系統。

 

本書贈送了9大超值的王牌資源,包括本書實例源代碼、教學幻燈片、本書精品教學視頻、16大經典Python項目源碼、Python錯誤代碼表速查手冊、Python 2.X和Python 3.x版本的區別速查手冊、Python 標準庫速查手冊、Python開發常見問題解決方案、Python工程師面試常見面試題等。

作者簡介

裴雨龍

現在荷蘭埃因霍溫理工大學博士在讀,主要研究方向為社交網絡分析、數據挖掘以及自然語言處理。分別在美國卡內基-梅隆大學和北京大學獲得語言技術以及計算機系統結構碩士學位。在靠前外有名學術會議上發表論文10餘篇。

目錄大綱

第1篇基礎知識


第1章揭開Python神秘面紗3 
1.1什麼是Python 4
1.2 Python的優點和特性4 
1.2.1 Python的優點4 
1.2.2 Python的特點5 
1.3搭建Python 3的編程環境6 
1.4運行Python的3種方式8 
1.5享受安裝成果——編寫第一個Python 程序9 
1.6 Python是怎樣運行的11 
1.7大神解惑12 
1.8跟我練練手12 

第2章初識廬山真面目—— 基礎語法13 
2.1標識符和保留字14 
2.2變量14 
2.3程序結構15 
2.4數據類型17 
2.4.1 Number(數字) 17 
2.4.2 String(字符串) 19 
2.4.3 Sets(集合) 20 
2.4.4 List(列表) 20 
2.4.5 Tuple(元組) 21 
2.4.6 Dictionary(字典) 22 
2.5運算符和優先級22 
2.5.1算術運算符22
2.5.2比較運算符23 
2.5.3賦值運算符25 
2.5.4邏輯運算符26 
2.5.5位運算符27 
2.5.6身份運算符28 
2.5.7成員運算符29 
2.5.8運算符的優先級29 
2.6大神解惑31 
2.7跟我練練手33 

第3章不可不知的數據結構——列表、元組和字典35 
3.1列表的基本操作36 
3.1.1列表對象的特性36 
3.1.2列表包容37 
3.1 .3列表的操作符38 
3.1.4列表的函數和方法38 
3.2元組的基本操作41 
3.2.1元組對象的特性41 
3.2.2元組的內置函數42 
3.3字典的基本操作43 
3.3.1字典對象的特性43 
3.3.2字典的內置函數和方法45 
3.4大神解惑47 
3.5跟我練練手47 

第4章一連串的字符——字符串操作49 
4.1訪問字符串中的值50 
4.2字符串的更新50 
4.3轉義字符51 
4.4字符串運算符52 
4.5字符串格式化53
4.6字符串使用的方法54 
4.7大神解惑58 
4.8跟我練練手59 

第5章程序的執行方向——流程控制和函數61 
5.1基本處理流程62 
5.2賦值語句63 
5.3條件判斷語句63 
5.3.1 if語句63 
5.3.2 if嵌套64 
5.4循環控制語句65 
5.4.1 while語句65 
5.4.2 for語句67 
5.4.3 continue語句和break語句68 
5.4.4 pass語句69 
5.4.5妙用range()函數和len()函數70 
5.5內置函數71 
5.6用戶自定義函數73 
5.6.1定義函數74 
5.6.2函數的參數傳遞75 
5.6.3 return語句77 
5.6.4變量作用域78 
5.6.5函數的內置屬性和命名空間79 
5.7輸入和輸出函數80 
5.8大神解惑81 
5.9跟我練練手82 

第II篇核心技術

第6章主流軟件開發方法—— 對象與類85 
6.1理解面向對象程序設計85
6.1.1什麼是對象86 
6.1.2面向對象的特徵87 
6.1.3什麼是類87 
6.2類的定義88 
6.3類的構造方法和內置屬性88 
6.4類實例90 
6.4.1創建類實例90 
6.4.2類實例的內置屬性92 
6.5類的內置方法93 
6.6重載運算符99 
6.7類的繼承100 
6.8類的多態103 
6.9類的封裝104 
6.10元類106 
6.11垃圾回收107 
6.12大神解惑108 
6.13跟我練練手109 

第7章錯誤終結者——程序調試和異常處理111 
7.1新手常見錯誤和異常112 
7.2異常是什麼114 
7.3內置異常115 
7.4使用try…except語句處理異常121 
7.5異常類的實例和清除異常124 
7.5.1異常類的實例124 
7.5.2清除異常125 
7.6內置異常的協助模塊126 
7.6.1 sys模塊126 
7.6.2 traceback對象126 
7.7拋出異常126
7.7.1 raise語句127 
7.7.2結束解釋器的運行127 
7.7.3離開嵌套循環128 
7.8用戶定義異常類129 
7.9程序調試130 
7.9.1使用assert語句130 
7.9.2使用__debug__內置變量131 
7.10錯誤代碼132 
7.11大神解惑133 
7.12跟我練練手134 

第8章Python內部的秘密—— 模塊與類庫135 
8.1認識模塊和類庫136 
8.1.1模塊是什麼136 
8.1.2類庫是什麼137 
8.2模塊和類庫的基本操作138 
8.3自定義模塊141 
8.4運行期服務模塊142 
8.5字符串處理模塊152 
8.6附屬服務153 
8.7一般操作系統服務157 
8.8其他模塊組165 
8.9大神解惑167 
8.10跟我練練手168 

第9章Python的強大功能——迭代器和操作文件169 
9.1迭代器170
9.2生成器170 
9.3打開文件171 
9.4讀取文件172
9.4.1讀取文件read()方法172 
9.4.2逐行讀取readline()方法173 
9.4.3返回文件各行內容的列表readlines()方法173 
9.4.4返回文件的當前位置tell() 方法174 
9.4.5截斷文件truncate()方法174 
9.4.6設置文件當前位置seek() 方法175 
9.5寫入文件176 
9.5.1將字符串寫入文件176 
9.5.2寫入多行writelines() 177 
9.5. 3修改文件內容177 
9.5.4附加到文件178 
9.6關閉和刷新文件178 
9.6.1關閉文件178 
9.6.2刷新文件179 
9.7大神解惑179 
9.8跟我練練手180 

第10章圖形用戶界面181 
10.1常用的Python GUI 182 
10.2使用tkinter創建GUI程序182 
10.3認識tkinter的控件184 
10.4幾何位置的設置189 
10.4.1 pack()方法189 
10.4.2 grid()方法192 
10.4.3 place()方法193
10.5 tkinter的事件194 
10.5.1事件的屬性195 
10.5.2事件綁定方法195 
10.5.3鼠標事件196 
10.5.4鍵盤事件198 
10.5.5系統協議199 
10.6 Button控件200 
10.7 Canvas控件202 
10.8 Checkbutton控件206 
10.9 Entry控件207 
10.10 Label控件209 
10.11 Listbox控件211 
10.12 Menu控件212 
10.13 Message控件217 
10.14 Radiobutton控件217 
10.15 Scale控件219 
10.16 Scrollbar控件221 
10.17 Text控件222 
10.18 Toplevel控件224 
10.19對話框225 
10.19.1 messagebox模塊225 
10.19.2 filedialog模塊227 
10.19.3 colorchooser模塊228 
10.20大神解惑230 
10.21跟我練練手231 

第11章流行的Python開發工具233
11.1程序代碼編輯工具234 
11.2 IDLE的調試器240 
11.3編譯Python文件243 
11.4 Python的調試器——pdb模塊244 
11.5反編譯二進制碼247 
11.6 Python性能分析器247 
11.6.1加載profile模塊247 
11.6.2 pstats模塊249 
11.6.3校正性能分析249 
11.7傳輸Python應用程序250 
11.8大神解惑250 
11.9跟我練練手251 

第III篇高級應用

第12章Python的高級技術255 
12.1圖像的處理256
12.1.1下載與安裝pillow 256 
12.1.2加載圖像文件257 
12.1.3圖像文件的屬性259 
12.1.4複製與粘貼圖像261 
12.1.5圖像的幾何轉換262 
12.1.6存儲圖像文件264 
12.2語音的處理264 
12.2.1 winsound模塊264 
12.2.2 sndhdr模塊266 
12.2.3 wave模塊267 
12.2.4 aifc模塊270
12.3科學計算——numpy模塊270 
12.3.1下載和安裝numpy模塊270 
12.3.2 array對象271 
12.3.3 ufunc對象273 
12.4正則表達式273 
12.5線程277 
12.6大神解惑280 
12.7跟我練練手281 

第13章數據庫的應用283 
13.1平面數據庫284 
13.2內置數據庫——SQLite 285 
13.3操作MySQL數據庫287 
13.3.1安裝PyMySQL 287 
13.3.2連接MySQL數據庫288 
13.3.3創建數據表289 
13.3.4插入數據289 
13.3.5查詢數據290 
13.3.6更新數據291 
13.3.7刪除數據291 
13.4大神解惑292 
13.5跟我練練手293 

第14章網絡編程的應用295 
14.1網絡概要296 
14.2 socket模塊298 
14.2.1認識socket模塊298 
14.2 .2創建socket連接299 
14.3 HTTP庫300
14.3.1 socketserver模塊301 
14.3.2 server模塊302 
14.3.3 client模塊304 
14.4 urllib庫305 
14.4.1 request模塊305 
14.4.2 parse模塊307 
14.5 ftplib模塊308 
14.6電子郵件服務協議310 
14.6.1 smtplib模塊310 
14.6.2 poplib模塊312 
14.6.3 imaplib模塊313 
14.7新聞群組314 
14.8遠程連接計算機315 
14.9大神解惑316 
14.10跟我練練手317 

第15章CGI程序設計319 
15.1 CGI簡介320 
15.2 cgi模塊320 
15.2. 1輸入和輸出320 
15.2.2 cgi模塊的函數322 
15.3創建和執行腳本322 
15.3.1傳輸信息給Python腳本323 
15.3.2表單域的處理323 
15.3.3 Session 332 
15.3.4創建輸出到瀏覽器332 
15.4使用cookie對象332 
15.4.1了解cookie 332
15.4.2讀取cookie信息333 
15.5使用模板334 
15.6上傳和下載文件337 
15.7腳本的調試339 
15.8大神解惑341 
15.9跟我練練手342 

第16章處理網頁數據343 
16.1 XML編程基礎344 
16.1.1 XPath簡介344 
16.1.2 XSLT簡介344 
16.2 XML語法基礎345 
16.2.1 XML的基本應用345 
16.2.2 XML文檔組成和聲明347 
16.2.3 XML元素介紹348 
16.3 Python解析XML 350 
16.3.1使用SAX解析XML 351 
16.3.2使用DOM解析XML 353 
16.4 XDR數據交換格式354 
16.5 JSON數據解析358 
16.6 Python解析HTML 359 
16.7大神解惑365 
16.8跟我練練手365 

第IV篇項目開發實戰

第17章開發學生信息管理系統369 
17.1準備工作370 
17.1.1配置Python開發環境370 
17.1.2選擇合適的開發工具370
17.2需求分析370 
17.3結構設計371 
17.4具體功能實現373 
17.4.1主界面程序main.py 373 
17.4.2 student.py模塊374 
17.4.3 utils.py模塊375 
17.4.4 addstudent.py模塊376 
17.4.5 deletestudent.py模塊377 
17.4.6 changestudent.py模塊378 
17.4.7 rankstudent.py模塊379 
17.5項目測試379 
17.5.1添加學生信息379 
17.5.2對學生成績進行排序381 
17.5.3修改學生成績381 
17.5. 4刪除學生信息382 
17.5.5退出系統383 
17.6項目總結與擴展384 

第18章開發虛擬聊天室系統385 
18.1必備知識點386 
18.2需求分析388 
18.3結構設計389 
18.4配置Python環境390 
18.5具體功能實現390 
18.5.1服務器端chatserver.py 391 
18.5.2客戶端chatclient.py 393 
18.6項目測試過程394
18.6.1測試客戶端和服務器端間的通信394 
18.6.2測試雙人聊天397 
18.6.3測試多人聊天399 
18.7項目總結401 

第19章開發網絡數據分析系統403 
19.1必備知識點404 
19.2需求分析405 
19.3結構設計406 
19.4配置開發環境407 
19.4.1配置Python環境407 
19.4.2安裝第三方庫407 
19.4.3加載GML數據集411 
19.5具體功能實現411 
19.5.1 graphgenerator.py模塊411 
19.5.2 communitydetection .py模塊412 
19.5.3 graphmeasures.py模塊413 
19.5.4 plotdegree.py模塊415 
19.6項目測試416 
19.6.1社區發現417 
19.6.2分析節點的重要性419 
19.6.3綜合統計分析424