內容簡介
《Python程序設計——基礎入門、數據分析及網路爬蟲(微課視頻版)》基於Python 3 10全面介紹Python語言程序設計方法,全書共10章。首先,基於Visual Studio和PyCharm集成開發環境介紹設計Python語言程序的方法,討論Python語言的常用數據結構的定義與用法,闡述分支與循環控制語句設計方法;然後,在討論Python語言中的常用數據類型及其用法的基礎上,重點論述函數、模塊和包的概念與設計方法;接著,深入介紹Python語言中類的定義與應用方法,介紹文件操作與異常處理方法,闡述圖形用戶界面程序設計方法;最後,介紹數據分析與可視化技術和網路爬蟲。全書內容豐富,實例翔實,配套實例講解視頻和教學資源。
《Python程序設計——基礎入門、數據分析及網路爬蟲(微課視頻版)》可作為高等院校計算機科學與技術、軟體與網路工程、電子信息工程和自動控制工程等工學相關專業的本科生學習Python語言的教材,也可作為程序設計愛好者學習Python語言的參考書。
目錄
第1章Python語言入門(視頻講解: 13分鐘,6集)
1 1Python語言
1 2Python語言開發環境
1 2 1Visual Studio集成開發環境
1 2 2PyCharm集成開發環境
1 3Python語言程序結構
1 4本章小結
第2章Python編程基礎(視頻講解: 20分鐘,9集)
2 1Python語言輸入與輸出
2 2Python基本數據類型
2 3Python運算符
2 3 1算術運算符
2 3 2位運算符
2 3 3關係運算符
2 3 4邏輯運算符
2 3 5賦值運算符
2 3 6高級運算符
2 3 7Python運算符優先順序
2 4列表
2 4 1創建列表
2 4 2列表元素訪問方法
2 4 3常用列表處理方法
2 5字元串
2 5 1字元串表示
2 5 2字元串常用方法
2 5 3格式化字元串
2 6本章小結
第3章程序控制(視頻講解: 36分鐘,16集)
3 1順序結構
3 2分支結構
3 2 1if語句
3 2 2match語句
3 3循環結構
3 3 1while結構
3 3 2for結構
3 4排序實例
3 5本章小結
第4章數據表示(視頻講解: 43分鐘,18集)
4 1元組
4 1 1元組定義
4 1 2元組元素訪問方法
4 1 3元組與內置函數
4 1 4元組應用實例
4 2集合
4 2 1集合定義
4 2 2集合基本操作
4 2 3集合內置方法
4 2 4集合應用實例
4 3字典
4 3 1字典定義
4 3 2字典基本操作
4 3 3字典內置方法與內置函數
4 3 4字典應用實例
4 4典型實例
4 5推導式與生成器
4 6本章小結
第5章函數與模塊(視頻講解: 45分鐘,20集)
5 1常用內置函數
5 2自定義函數
5 2 1函數定義與調用
5 2 2可變參數函數
5 2 3函數返回值與變數作用域
5 2 4函數閉包與裝飾器
5 3遞歸函數
5 4複合函數
5 5包與模塊
5 6本章小結
第6章類與對象(視頻講解: 26分鐘,10集)
6 1類與對象的定義
6 2類中的屬性與方法
6 2 1非面向對象的屬性和方法
6 2 2公有成員和私有成員
6 2 3Property屬性
6 2 4數據成員與方法成員
6 3特殊方法
6 4繼承
6 5本章小結
第7章文件操作與異常(視頻講解: 16分鐘,8集)
7 1文件操作
7 1 1磁碟文件讀寫操作
7 1 2os模塊
7 1 3Excel文件讀寫操作
7 2異常
7 2 1自定義異常
7 2 2標準異常處理
7 2 3安全文件處理
7 3本章小結
第8章圖形用戶界面設計(視頻講解: 53分鐘,19集)
8 1視窗設計
8 2界面布局設計
8 3「複數計算器」程序演算法設計
8 4常用控制項
8 4 1命令按鈕
8 4 2靜態文本框
8 4 3對話框
8 4 4消息框
8 4 5文本控制項
8 4 6編輯框
8 4 7單選按鈕
8 4 8複選按鈕
8 4 9框架與帶標籤框架
8 4 10列表框
8 4 11組合框
8 4 12滾動條和進度條
8 4 13菜單控制項
8 5畫布與繪圖技術
8 6事件綁定與自定義事件
8 7本章小結
第9章數據分析與可視化(視頻講解: 29分鐘,13集)
9 1程序包numpy
9 1 1數組創建
9 1 2數組元素訪問
9 1 3矩陣運算
9 1 4常用方法
9 2程序包pandas
9 2 1Series對象定義
9 2 2Series對象訪問
9 2 3Series對象計算
9 2 4DataFrame對象定義
9 2 5DataFrame對象訪問
9 2 6DataFrame對象數據處理
9 3程序包matplotlib
9 3 1繪圖基本方法
9 3 2散點圖
9 3 3柱狀圖
9 4本章小結
第10章網路爬蟲(視頻講解: 19分鐘,7集)
10 1程序包requests
10 1 1get方法
10 1 2post方法
10 1 3網頁鏈接異常情況
10 2程序包beautifulsoup4
10 2 1Tag對象和BeautifulSoup對象
10 2 2應用實例
10 3網路爬蟲實例
10 3 1圖片爬取實例
10 3 2新聞標題爬取與可視化
10 4本章小結
附錄A正則表達式
參考文獻
前言/序言
目前,計算機程序設計語言處於「百花齊放、百家爭鳴」的局面。應用廣泛的計算機語言有Basic語言、C/C++語言、C#語言、Java語言、JavaScript語言(網頁設計語言)、Delphi語言(Pascal語言)、Swift語言(iOS操作系統應用設計語言)、Wolfram語言(基於Mathematica軟體的科學計算語言)等。程序員都有類似的感覺,當精通了一門計算機語言后,其他的計算機語言就會有似曾相識的感覺,從而學習另一種計算機語言就變得輕鬆愉快了。但是,每種計算機語言都有其缺點,例如,C語言的棧區較小、指針功能強大但易於內存訪問越界等。有沒有一種計算機語言,在吸取了眾多計算機語言的優點的同時,又改進了它們的缺點?如果有,那就是Python語言。
Python語言自1991年誕生以來,迅速成長為擁有龐大用戶群體和健壯生態系統的計算機語言,而且是不斷進化的計算機語言。相比于其他計算機語言,Python語言至少具有以下的優點。
其一,Python語言的設計思想是極致精簡,表現在用最簡練的代碼實現儘可能多的功能,或者用最簡形式的代碼實現所需要的功能。Python語言用語句的「縮進」格式區分代碼的等級。
其二,Python語言是開源的計算機語言,Python語言的每個版本的升級都是在全球範圍內程序員的貢獻基礎上的改進。請注意Python 3與Python 2不兼容,Python 3才真正吸引了作者的注意。
其三,Python語言具有極強的跨平台能力,可應用於Windows、macOS、Linux/UNIX等十多種平台上。
其四,Python語言的IDLE程序(Python語言自帶的集成開發與學習環境)具有互動式執行功能,例如,IDLE程序可作為超級計算器。
其五,Python語言是面向對象的計算機語言,其類與對象的設計技巧比C++語言更容易理解和掌握。
其六,Python語言具有強大的生態圈,眾多程序員基於Python語言開發了適用於各個專業領域的程序包,這些程序包使得Python語言甚至可以和MATLAB媲美。
在作者的教學和科研活動中,主要使用的語言為Wolfram語言、Python語言和C++/C#語言。其中,Wolfram語言用於處理全部的科學計算問題; Python語言作為通用計算機語言,融合演算法與界面的實現與設計; C++/C#語言用於在計算效率上進行優化處理。我們向讀者推薦《Mathematica程序設計導論》(清華大學出版社,2022年)和《精通C++語言》(清華大學出版社,2022年),幫助學習Wolfram語言和C++語言。我們藉助本書向讀者推薦Python語言。Python語言生態圈中流行著一種說法,當一個程序員深入接觸了Python語言后,他就離不開Python語言了。
本書基於Python 3 10全面介紹Python語言的程序設計方法。全書共10章。第1章為Python語言入門,介紹基於Visual Studio和PyCharm集成開發環境設計Python語言程序的方法; 第2章為Python編程基礎,深入討論Python語言中最重要的數據結構——列表的用法以及字元串的使用方法; 第3章為程序控制,闡述Python語言中的分支與循環語句設計方法; 第4章為數據表示,討論Python語言中的常用數據類型及其用法; 第5章為函數與模塊,重點討論Python語言中函數、模塊和包的概念與設計方法; 第6章為類與對象,介紹Python語言中類的定義與應用方法; 第7章為文件操作與異常,介紹Python語言的文件操作與異常處理方法; 第8章為圖形用戶界面設計,闡述帶有圖形用戶界面的應用程序設計方法; 第9章為數據分析與可視化,介紹numpy、pandas和matplotlib三個常用程序包的用法,這三個包依次為數組與矩陣計算、數據統計與分析以及繪圖程序庫; 第10章為網路爬蟲,闡述網路數據「爬」取方法。全書內容豐富,實例翔實,適合教學與自學。
本書作為計算機語言教材,若課時為48學時,宜講授第1~7章; 若課時為64學時,宜講授第1~10章。本書提供了全部源程序,但作者強烈建議讀者自行輸入代碼,並調試程序,以達到對Python語言融會貫通的目的。真正掌握好一門計算機語言,唯一的捷徑或竅門在於持續編程與應用。
配 套 資 源
程序代碼:掃描目錄上方的二維碼下載。
教學課件、教學大綱、實驗大綱、教學日曆等資源: 掃描封底的「書圈」二維碼在公眾號下載,或者到清華大學出版社官方網站本書頁面下載。
微課視頻(300分鐘,126集): 掃描書中相應章節中的二維碼在線學習。
注: 請先掃描封底刮刮卡中的二維碼進行綁定后再獲取配套資源。
本書由江西財經大學量子計算研究中心信息安全課題組編寫。其中,朱文強編寫第1章,陳愛國編寫第2章,熊堂堂編寫第3、4章,石宇雯編寫第5、10章,謝寶來編寫第6、7章,張勇編寫第8章和附錄,唐穎軍編寫第9章。全書由張勇統稿、定稿。作者張勇感謝導師陳天麒教授(電子科技大學)、洪時中研究員(電子科技大學、成都市地震局)、汪國平教授(北京大學)對作者科研工作和學術研究的長期指導,他們對科學的熱愛和對作者的鼓勵是作者從事科研工作的巨大精神支柱; 感謝愛人賈曉天老師在煩瑣的資料整理工作方面所做的細緻工作。全體作者感謝清華大學出版社工作人員對本書寫作和出版的支持。
本書極力呈現Python語言的魅力和應用技巧,但限於作者的知識水平,書中內容難免有不足之處,懇請同行專家和讀者朋友不吝賜教。
張勇2023年4月于江西財經大學麥廬園