內容介紹 | |
![](http://img3m3.ddimg.cn/80/32/29264183-1_u_4.jpg)
開本:16開 紙張:膠版紙 包裝:平裝-膠訂 是否套裝:否 國際標準書號ISBN:9787302580188 叢書名:高等院校信息技術繫列教材 作者:孫玉勝、曹潔 出版社:清華大學出版社 出版時間:2021年06月 
"編輯推薦 零基礎開始全面掌握。 由淺入深、步步引導、循序漸進地闡述Python語言的基礎知識、基本語法。 注釋詳盡的代碼示例。 詳盡的歸納與總結,集中深入掌握知識要點。 豐富的數據可視化案例,迅速掌握數據可視化技術。 內容簡介 Python是一門簡單易學、功能強大的優雅編程語言。它內建了高效的數據結構,且具有豐富的第三方開發庫,能夠用簡單而高效的方式編程。本書由淺入深、步步引導、循序漸進地講述Python語言的基礎知識、基本語法。本書用12章的篇幅來介紹Python語言,包括Python語言概述、Python語言基礎、程序流程控制、函數、正則表達式、文件與文件夾操作、面向對像程序設計、模塊和包、算法與數據結構基礎、錯誤和異常處理、圖形用戶界面、用matplotlib實現數據可視化。 本書可作為高等院校各專業的Python語言教材,也可作為軟件開發人員的參考資料,還可作為Python語言自學者的參考書。 作者簡介 孫玉勝,鄭州輕工業大學教授。長期從事Python語言程序設計、C語言程序設計等本科生教學工作。著有《Python語言程序設計》、《大數據技術》、《Python數據分析》等教材。 目錄 第1章Python語言概述1 1.1Python語言的特點1 1.2Python應用領域2 1.3Python解釋器3 1.4Python開發環境的安裝3 1.5編寫Python代碼6 1.5.1用文本編輯器編寫代碼6 1.5.2用命令行格式的Python Shell編寫代碼9 1.5.3用帶圖形界面的Python Shell編寫交互式 代碼10 1.5.4用帶圖形界面的Python Shell編寫程序代碼11 1.6Python中的注釋12 1.6.1Python中的單行注釋12 1.6.2Python中的多行注釋12第1章Python語言概述1 1.1Python語言的特點1 1.2Python應用領域2 1.3Python解釋器3 1.4Python開發環境的安裝3 1.5編寫Python代碼6 1.5.1用文本編輯器編寫代碼6 1.5.2用命令行格式的Python Shell編寫代碼9 1.5.3用帶圖形界面的Python Shell編寫交互式 代碼10 1.5.4用帶圖形界面的Python Shell編寫程序代碼11 1.6Python中的注釋12 1.6.1Python中的單行注釋12 1.6.2Python中的多行注釋12 1.7Python在線幫助12 1.7.1Python交互式幫助繫統12 1.7.2Python文檔14 1.8Python中的變量16 習題17 第2章Python語言基礎18 2.1Python中的對像18 2.1.1對像的身份18 2.1.2對像的類型18 2.1.3對像的值19 2.1.4對像的引用19 2.1.5對像的共享引用19 2.1.6對像是否相等的判斷20◆Python語言程序設計(第2版)(微課版)目錄2.2數值數據類型20 2.3字符串數據類型22 2.3.1創建字符串22 2.3.2轉義字符23 2.3.3字符編碼24 2.3.4字符串運算符24 2.3.5字符串對像的常用方法25 2.3.6字符串常量31 2.4列表數據類型32 2.4.1創建列表32 2.4.2截取列表33 2.4.3修改列表33 2.4.4序列數據類型的常用操作34 2.4.5用於列表的一些常用函數35 2.4.6列表對像的常用方法37 2.4.7列表生成式38 組數據類型39 2.5.組39 2.5.組40 2.5.組40 2.5.4生成器推導式41 2.6字典數據類型42 2.6.1創建字典42 2.6.2訪問字典43 2.6.素的添加、修改與刪除43 2.6.4字典對像的常用方法44 2.6.5字典推導式46 2.7集合數據類型46 2.7.1創建集合46 2.7.2添素46 2.7.3刪素47 2.7.4集合運算47 2.7.5集合推導式48 2.8Python數據類型之間的轉換49 2.9Python中的運算符50 2.9.1Python算術運算符50 2.9.2Python關繫運算符51 2.9.3Python賦值運算符51 2.9.4Python位運算符52 2.9.5Python邏輯運算符52 2.9.6Python成員運算符53 2.9.7Python身份運算符53 2.9.8Python運算符的優先級54 2.10Python中的數據輸入55 2.11Python中的數據輸出56 2.11.1表達式語句輸出56 2.11.2print()函數輸出57 2.11.3字符串對像的format方法的格式化輸出60 2.12Python中文件的基本操作62 2.13Python庫的導入與擴展庫的安裝63 2.13.1庫的導入63 2.13.2擴展庫的安裝64 習題65 第3章程序流程控制67 3.1布爾表達式67 3.2選擇結構68 3.2.1單向if語句68 3.2.2雙向ifelse語句69 3.2.3嵌套if語句和多向ifelifelse語句70 3.3條件表達式72 3.4while循環結構73 3.5循環控制策略77 3.5.1交互式循環77 3.5.2哨兵式循環78 3.5.3文件式循環79 3.6for循環結構80 3.6.1for循環的基本用法80 3.6.2for循環適用的對像81 3.6.3for循環與range()函數的結合使用84 3.7循環中的break、continue和else86 3.7.1用break語句提前終止循環86 3.7.2用continue語句提前結束本次循環87 3.7.3循環語句的else子句87 3.8程序流程控制舉例89 習題92 第4章函數93 4.1為什麼要用函數93 4.2怎樣定義函數95 4.3函數調用96 4.3.1帶有返回值的函數調用96 4.3.2不帶返回值的函數調用99 4.4函數參數傳遞99 4.5函數參數的類型100 4.5.1位置參數100 4.5.2關鍵字參數100 4.5.3默認值參數101 4.5.4可變長度參數101 4.5.5序列解包參數102 4.6函數模塊化104 4.7lambda表達式105 4.7.1lambda和def的區別106 4.7.2自由變量對lambda表達式的影響108 4.8變量的作用域109 4.8.1變量的局部作用域109 4.8.2變量的全局作用域110 4.8.3變量的嵌套作用域111 4.9函數的遞歸調用112 4.10常用內置函數116 4.10.1map()函數116 4.10.2reduce()函數117 4.10.3filter()函數119 4.11函數舉例119 習題125 第5章正則表達式126 5.1什麼是正則表達式126 5.2正則表達式的構成126 5.3正則表達式的模式匹配129 5.3.1正則表達式的邊界匹配129 5.3.2正則表達式的分組、選擇和引用匹配130 5.3.3正則表達式的貪婪匹配與懶惰匹配133 5.4正則表達式模塊re134 5.5正則表達式對像137 5.6Match對像140 5.7正則表達式舉例142 習題144 第6章文件與文件夾操作146 6.1文本文件146 6.1.1文本文件的字符編碼146 6.1.2文本文件的打開148 6.1.3文本文件的寫入151 6.1.4文本文件的讀取152 6.1.5文本文件指針的定位154 6.2二進制文件155 6.2.1二進制文件的寫入155 6.2.2二進制文件的讀取156 6.2.3字節數據類型的轉換156 6.3文件與文件夾操作158 6.3.1使用os操作文件與文件夾158 6.3.2使用os.path操作文件與文件夾160 6.3.3使用shutil操作文件與文件夾162 6.4csv文件的讀取和寫入164 6.4.1使用csv.reader()讀取csv文件164 6.4.2使用csv.writer()寫入csv文件165 6.4.3使用csv.DictReader()讀取csv文件167 6.4.4使用csv.DictWriter()寫入csv文件168 6.4.5csv文件的格式化參數169 6.4.6自定義dialect171 6.5文件與文件操作舉例172 習題173 第7章面向對像程序設計174 7.1定義類175 7.2創建類的對像176 7.3類中的屬性177 7.3.1類的對像屬性177 7.3.2類屬性178 7.3.3私有屬性和公有屬性180 7.3.4@property裝飾器181 7.4類中的方法184 7.4.1類的對像方法184 7.4.2類方法186 7.4.3類的靜態方法187 7.5類的繼承188 7.5.1單繼承188 7.5.2類的多重繼承192 7.5.3類成員的繼承和重寫195 7.5.4查看繼承的層次關繫195 7.6object 類196 7.7對像的引用、淺復制和深復制197 7.7.1對像的引用197 7.7.2對像的淺復制200 7.7.3對像的深復制201 7.8面向對像程序舉例202 習題205 第8章模塊和包206 8.1模塊206 8.1.1模塊的創建206 8.1.2模塊的導入和使用207 8.1.3模塊的主要屬性208 8.2導入模塊時搜索目錄的順序與繫統目錄的添加211 8.2.1導入模塊時搜索目錄的順序211 8.2.2使用sys.path.append()臨時增添繫統目錄212 8.2.3使用pth文件永久添加繫統目錄212 8.2.4使用PYTHONPATH環境變量永久添加繫統目錄213 8.3包213 8.3.1包的創建213 8.3.2包的導入與使用214 習題215 第9章算法與數據結構基礎216 9.1算法概述216 9.2查找算法217 9.2.1順序查找217 9.2.2二分查找218 9.2.3插值查找220 9.3排序算法221 9.3.1冒泡排序221 9.3.2選擇排序222 9.3.3插入排序223 9.3.4歸並排序224 9.3.5快速排序225 9.4常用數據結構227 9.4.1自定義矩陣227 9.4.2自定義棧232 9.4.3自定義隊列234 9.4.4自定義二叉樹237 習題244 第10章錯誤和異常處理245 10.1程序的錯誤245 10.1.1常犯的9個錯誤245 10.1.2常見的錯誤類型248 10.2程序的異常處理251 10.2.1異常概述251 10.2.2異常類型251 10.2.3異常處理252 10.2.4主動拋出異常257 10.2.5自定義異常類259 10.3斷言處理261 10.3.1斷言處理概述261 10.3.2啟用/禁用斷言262 10.3.3斷言使用場景262 10.4程序的調試方法264 10.4.1使用print調試264 10.4.2使用IDLE調試264 10.4.3使用pdb調試268 習題275 第11章圖形用戶界面276 11.1圖形界面開發庫276 11.2Tkinter圖形用戶界面庫277 11.2.1Tkinter概述277 11.2.2Tkinter圖形用戶界面的構成278 11.3常用Tkinter組件的使用279 11.3.1標簽組件279 11.3.2按鈕組件281 11.3.3單選按鈕組件283 11.3.4單行文本框組件286 11.3.5多行文本框組件288 11.3.6復選框組件291 11.3.7列表框組件295 11.3.8菜單組件297 11.3.9消息組件299 11.3.10對話框300 11.3.11框架組件302 11.4Tkinter主要的幾何布局管理器303 11.4.1pack布局管理器303 11.4.2grid布局管理器305 11.4.3place布局管理器306 習題307 第12章用matplotlib實現數據可視化308 12.1matplotlib三層架構308 12.1.1容器層308 12.1.2輔助顯示層311 12.1.3圖表層312 12.2matplotlib的pyplot子庫313 12.2.1繪制線形圖314 12.2.2繪制直方圖320 12.2.3繪制條形圖322 12.2.4繪制餅圖325 12.2.5繪制散點圖328 12.2.6繪制極坐標圖328 12.2.7繪制雷達圖329 12.2.8繪制箱形圖330 12.2.9繪制3D效果圖332 習題336 參考文獻337 前言 在IEEE Spectrum發布的2020年編程語言排行榜中,Python排名。Python的語法非常接近英語,被稱為雅的編程語言之一。閱讀Python代碼就像閱讀一篇優美的文章。Python語法簡潔清晰,代碼可讀性強,編程模式非常符合人的思維方式,易學易用。對於同樣的功能,用Python寫的代碼更短、更簡潔。Python擁有很多面向不同應用的開源擴展庫,你能想到的功能基本上都已經開發了,你隻需要把想要的程序代碼拿來進行組裝便可構建個性化的應用。Python支持命令式編程、函數式編程,支持面向對像程序設計。Python是一門很受人們青睞的編程語言,被廣泛用於數據分析、Web開發、科學計算、人工智能、雲計算、繫統運維、數據可視化和圖形開發等領域。 1. 本書編寫特色 (1) 本書全面涵蓋Python3基礎編程知識,基於Python 3.6.2構建Python開發平臺。 (2) 針對零基礎讀者,可快速掌握Python語言開發。 (3) 通過大量的實例,由淺入深、步步引導、循序漸進地講述Python語言的基礎知識和基本語法。 (4) 注釋詳盡的代碼示例。在IEEE Spectrum發布的2020年編程語言排行榜中,Python排名。Python的語法非常接近英語,被稱為雅的編程語言之一。閱讀Python代碼就像閱讀一篇優美的文章。Python語法簡潔清晰,代碼可讀性強,編程模式非常符合人的思維方式,易學易用。對於同樣的功能,用Python寫的代碼更短、更簡潔。Python擁有很多面向不同應用的開源擴展庫,你能想到的功能基本上都已經開發了,你隻需要把想要的程序代碼拿來進行組裝便可構建個性化的應用。Python支持命令式編程、函數式編程,支持面向對像程序設計。Python是一門很受人們青睞的編程語言,被廣泛用於數據分析、Web開發、科學計算、人工智能、雲計算、繫統運維、數據可視化和圖形開發等領域。 1. 本書編寫特色 (1) 本書全面涵蓋Python3基礎編程知識,基於Python 3.6.2構建Python開發平臺。 (2) 針對零基礎讀者,可快速掌握Python語言開發。 (3) 通過大量的實例,由淺入深、步步引導、循序漸進地講述Python語言的基礎知識和基本語法。 (4) 注釋詳盡的代碼示例。 (5) 詳盡的歸納與總結,幫讀者集中深入掌握知識要點。 (6) 豐富的數據可視化案例,助讀者迅速掌握數據可視化技術。 2. 本書內容組織 第1章Python語言概述。講解Python語言的特點,Python應用領域,Python開發環境的安裝,編寫Python代碼的方式,Python注釋的方式,Python在線幫助。 第2章Python語言基礎。講解Python中的對像和引用,數值數據類型,字符串數據類型,列表數據組數據類型,字典數據類型,集合數據類型,Python數據類型之間的轉換,運算符,數據輸入與輸出,庫的導入與擴展庫的安裝。第3章程序流程控制。講解布爾表達式,選擇結構中的單向if語句、雙向ifelse語句、嵌套ifelifelse語句,條件表達式,while循環及循環控制策略,for循環及for循環與range()函數的結合使用方法,利用break、continue和else控制循環的方式。 第4章函數。講解怎樣定義函數、函數的調用方式、參數傳遞、函數參數的類型、函數模塊化、lambda表達式、變量的作用域、函數的遞歸調用和常用內置函數。 第5章正則表達式。講解正則表達式的構成,正則表達式的邊界匹配,正則表達式的分組、選擇和引用匹配,正則表達式的貪婪匹配與懶惰匹配,正則表達式模塊re,正則表達式對像以及Match對像。 第6章文件與文件夾操作。講解文本文件的打開、讀寫以及文件指針的定位,二進制文件的打開與讀寫,os、os.path、shutil對文件與文件夾的操作,csv文件的讀取和寫入。 第7章面向對像程序設計。講解類的定義與使用,類的對像屬性、類屬性、私有屬性、公有屬性以及@property裝飾器,類的對像方法、類方法以及類的靜態方法,類的單繼承、多重繼承、類成員的繼承和重寫,查看繼承的層次關繫,所有類的基類object,對像的引用、對像的淺復制和對像的深復制。 第8章模塊和包。講解模塊的創建、模塊的導入和使用、模塊的主要屬性,導入模塊時搜索目錄的順序,使用sys.path.append()臨時增添繫統目錄,使用pth文件永久添加繫統目錄,使用PYTHONPATH環境變量永久添加繫統目錄,包的創建、包的導入與使用。 第9章算法與數據結構基礎。講解順序查找、二分查找、插值查找算法,冒泡排序、選擇排序、插入排序、歸並排序、快速排序算法,自定義矩陣、棧、隊列和二叉樹類型。 第10章錯誤和異常處理。講解編寫Python程序常犯的錯誤,異常類型、異常處理、主動拋出異常以及自定義異常類,斷言定義及使用方法,啟用/禁用斷言,斷言使用場景,使用print調試程序、使用IDLE調試程序以及使用pdb調試程序。 第11章圖形用戶界面。講解使用Tkinter制作圖形用戶界面,Tkinter主要的構件類,pack布局管理器,grid布局管理器,place布局管理器。 第12章用matplotlib實現數據可視化。講解matplotlib三層架構,使用matplotlib的pyplot子庫繪制線形圖、直方圖、條形圖、餅圖、散點圖、極坐標圖、雷達圖、箱形圖和3D效果圖。 ◆Python語言程序設計(第2版)(微課版)前言3. 本書適用讀者 (1) 學習Python語言程序設計課程的本科生、專科生或研究生。 (2) 編程愛好者。 (3) 其他對Python感興趣的人員。 本書由孫玉勝、曹潔、張志鋒、桑永宣、陳明、王博、張靜靜、胡春暉編寫。 在本書的編寫和出版過程中得到了鄭州輕工業大學、清華大學出版社的大力支持和幫助,在此表示感謝。 在本書的撰寫過程中,參考了大量專業書籍和網絡資料,在此向相關作者表示感謝。 由於編寫時間倉促,編者水平有限,書中難免會有缺點和不足,熱切期望得到專家和讀者的批評指正。 除了配套制作的教學課件、教學日歷、教學大綱外,本書還提供書中示例的源代碼和各章中部分內容的視頻講解(可通過清華大學出版社網站www.tup.com.cn下載),以使讀者獲取更多更便捷的教學資源服務。
編者於鄭州輕工業大學數據融合與知識工程實驗室2021年2月
![](http://img3m3.ddimg.cn/80/32/29264183-2_u_3.jpg)
![](http://img3m3.ddimg.cn/80/32/29264183-3_u_3.jpg)
![](http://img3m3.ddimg.cn/80/32/29264183-4_u_3.jpg)
![](http://img3m3.ddimg.cn/80/32/29264183-5_u_3.jpg)
![](http://img3m3.ddimg.cn/80/32/29264183-6_u_3.jpg)
![](http://img3m3.ddimg.cn/80/32/29264183-7_u_3.jpg)
![](http://img3m3.ddimg.cn/80/32/29264183-8_u_3.jpg)
| | |