Python程序設計與應用(第二版)
-
【作 者】主編 張廣淵
【I S B N 】978-7-5226-2368-9
【責任編輯】魏淵源
【適用讀者群】本專通用
【出版時間】2024-03-05
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第2版第1次印刷
【頁 數】288
【千字數】461
【印 張】18
【定 價】¥54
【叢 書】應用型本科高校建設示范教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書是一本基礎性強、可讀性好、適合入門的Python語言教材。讀者通過本書的學習能夠快速掌握Python語言的入門知識,并通過實踐項目學習了解項目的基本開發流程和常用第三方庫的使用。
本書內容分為兩大部分,第一部分基礎知識,共10章:緒論,Python編程環境搭建,Python程序設計入門,程序控制,列表、元組、字典、集合,函數,模塊,文件,面向對象程序設計,異常處理;第二部分項目實踐,共 5 個項目:根據函數繪制曲線、辦公自動化程序設計、網頁數據下載與處理(網絡爬蟲)、Django+MySQL Web開發和二手房價格預測。
本書面向軟件編程入門級讀者,也適合具備一定基礎,開始學習第三方庫的使用和初級項目實施的讀者,還可作為全國計算機等級考試(Python語言)的參考書。
內容實用 案例引導,任務驅動,體現“成果為導向,學生為中心”的教育理念。
案例貼合 教材案例結合實際應用場景,能夠解決在實際學習工作中的應用問題。
資源豐富 配有電子教案、程序源代碼、習題答案等資源,方便讀者學習使用。
第二版前言
Python語言已成為目前最受歡迎的語言之一,其生態鏈應用也越來越廣泛,從繪制圖形到詞頻統計,從圖像處理到Web開發,從科學計算到嵌入式開發,越來越多的場景可以使用Python語言來解決。尤其是人工智能時代的到來,調用方便、科學計算功能強大依舊使Python在AI領域擁有最強大的競爭力,可以說Python語言就是人工智能領域的BASIC語言。
本書的編寫旨在推動把Python語言教學作為應用型本科大學相關專業公共基礎課程來進行教授。本書在內容編寫上分為兩部分:第一部分基礎知識,通過淺顯易懂的語言結合豐富的配圖讓編程初學者快速入門,掌握Python語言;第二部分項目實踐,通過設計項目實踐環節初步展現解決問題的過程和方法,讓初學者能夠使用編程思維解決問題,并通過項目實施了解項目的開發流程,掌握常用第三方庫的使用。因此,本書既可以面向計算機軟件編程零基礎和剛入門的讀者,也適用于具備一定基礎,開始學習第三方庫使用和初級項目實施的讀者。
本書圍繞全國計算機等級考試Python語言考試大綱在內容上做了對應的編排,覆蓋了大綱所要求掌握的內容范圍,基礎知識部分每一章的后面都附有適量習題,可作為全國計算機等級考試(Python語言)的參考書。
全書分兩部分共15章。第一部分基礎知識,共10章:第1章闡述計算機的基本概念、軟硬件的發展歷史和現狀,并對Python語言的基本概念和特點作了介紹;第2章介紹Python編程環境的搭建,主要包括Anaconda、IDLE和PyCharm三種常用環境的搭建與使用;第3章介紹Python語言基本內容,主要包括標識符、基本運算、賦值、字符串操作和內置函數等;第4章主要介紹選擇和循環等程序控制結構;第5章介紹Python語言常用的四種結構,即列表、元組、字典和集合;第6章介紹函數的使用、參數的傳遞、全局變量和局部變量的使用;第7章介紹模塊、包和第三方庫的引入和使用;第8章介紹文件的基本操作,并對CSV文件和Excel文件在Python中的讀寫調用進行了詳細敘述;第9章對面向對象程序設計方法進行了描述;第10章專門圍繞異常處理進行了詳細描述。
第二部分項目實踐,分5個項目進行練習:項目1主要是繪制圖形和項目的打包發布任務,包含turtle、matplotlib等第三方庫的介紹;項目2介紹了使用Python實現按需求批量生成電子表格、表格數據分類及處理、Excel和Word文件的批量處理及格式轉換等任務,包含openpyxl、python-docx、docxcompose、comtypes等第三方庫;項目3設計了一個網頁爬蟲任務,通過項目實施實現對urllib、etree、xpath、time、Pandas、jieba、wordcloud等第三方庫的介紹和使用;項目4基于Django框架和MySQL數據庫實現了一個簡單的基于動態數據展示的Web應用;項目5設計實現了一個基于圖形用戶界面(GUI)的二手房價格預測程序,包含tkinter、requests、bs4、pypinyin、pandas、re、sklearn、matplotlib、seaborn等庫的基本使用方法,通過爬取到的二手房數據做預處理,訓練一個預測模型,得到房源的預測價格。
本書由張廣淵任主編,倪燃任副主編,其中第1章、第10章由張廣淵編寫,第2章、第11章和第12章由倪燃編寫,第3章由吳昌平、趙慧編寫,第4章由吳昌平、楊海編寫,第5章由李鳳云、楊海編寫,第6章由朱振方、吳媚編寫,第7章由朱振方、羅晨編寫,第8章由李鳳云、羅晨編寫,第9章由趙慧編寫,第13章由李鳳云編寫,第14章由朱振方編寫,第15章由王嘉月編寫,全書由張廣淵統稿。
本書內容基于Python3編寫,所有源程序代碼均在Python3編程環境下運行通過。
由于編者水平有限,書中難免有疏漏甚至錯誤之處,懇請讀者批評指正。
編 者
2023年8月
第一版前言
第一部分 基 礎 知 識
第1章 緒論 1
1.1 計算機發展歷史 1
1.1.1 計算機的歷史 1
1.1.2 個人計算機的歷史 2
1.2 軟硬件基本知識 3
1.2.1 馮•諾依曼結構 3
1.2.2 計算機軟件發展 7
1.3 常用編程語言介紹 9
1.3.1 機器語言 9
1.3.2 匯編語言 10
1.3.3 高級程序設計語言 10
1.4 Python語言簡介 11
1.4.1 Python語言的歷史 11
1.4.2 Python語言的特點 12
1.4.3 Python語言的應用 12
練習一 13
第2章 Python編程環境搭建 15
2.1 Anaconda安裝與Python編程界面 15
2.1.1 Anaconda安裝過程 15
2.1.2 Anaconda中的Python
編輯器Spyder 19
2.2 Anaconda其他常用功能 25
2.2.1 常用應用程序及pip模塊安裝
命令 25
2.2.2 常用科學包介紹 26
2.3 了解IDLE開發環境 32
2.3.1 啟動IDLE 33
2.3.2 使用IDLE編寫Python程序 34
2.4 使用PyCharm編輯器 36
2.4.1 下載安裝 36
2.4.2 新建項目 36
2.4.3 配置PyCharm 38
練習二 42
第3章 Python程序設計入門 43
3.1 簡單程序案例 43
案例3.1 華氏溫度轉換為攝氏溫度 43
案例3.2 求圓周長和圓面積 44
3.2 常量與變量 44
3.2.1 常量 44
3.2.2 變量 46
3.3 標識符、關鍵字和標準數據類型 47
3.3.1 標識符、關鍵字 47
3.3.2 標準數據類型 49
3.4 運算符 49
3.4.1 算術運算符 49
3.4.2 關系運算符 50
3.4.3 邏輯運算符 50
3.4.4 位運算符 51
3.4.5 賦值運算符 52
3.4.6 成員運算符 52
3.4.7 標識(身份)運算符 52
3.4.8 運算符優先級 52
3.5 源程序書寫風格 53
3.5.1 注釋 53
3.5.2 縮進 53
3.5.3 語句換行 54
3.5.4 必要的空格與空行 54
3.6 賦值語句 54
3.7 基本輸入/輸出 55
3.7.1 基本輸入 55
3.7.2 基本輸出 56
3.8 字符串操作 59
3.8.1 字符串的存儲方式 59
3.8.2 字符串切片 60
3.8.3 字符串運算符 61
3.9 內置函數 62
3.9.1 數學函數 62
3.9.2 字符串函數 63
3.9.3 類型判斷和類型間轉換 65
3.10 turtle畫圖程序 67
練習三 67
第4章 程序控制 71
4.1 選擇結構 71
4.2 循環結構 75
4.2.1 while語句 75
4.2.2 for語句 77
4.2.3 break語句、continue語句
和pass語句 78
4.2.4 循環嵌套 79
4.3 控制程序綜合程序案例 80
練習四 82
第5章 列表、元組、字典、集合 85
5.1 列表 85
5.1.1 列表的創建與刪除 86
5.1.2 列表元素的訪問 87
5.1.3 用列表的基本操作實現案例任務 88
5.1.4 列表的高級操作 89
5.1.5 用列表的高級操作實現案例任務 90
5.2 元組 90
5.2.1 元組的創建與刪除 91
5.2.2 訪問元組的元素 92
5.2.3 元組的高級操作 92
5.2.4 用元組實現案例任務 92
5.3 字典 93
5.3.1 字典的創建與刪除 94
5.3.2 字典元素的基本操作 95
5.3.3 用字典實現案例任務 96
5.3.4 字典的高級操作 98
5.4 集合 98
5.4.1 集合的基本操作 99
5.4.2 用集合實現案例任務 99
5.4.3 集合運算 100
5.5 組合數據綜合程序案例 101
5.6 列表、元組、字典、集合的應用
小結 105
練習五 105
第6章 函數 108
6.1 函數的基本結構 108
6.1.1 函數的定義 108
6.1.2 函數的調用 109
6.1.3 函數的返回值 110
6.1.4 函數的嵌套 110
6.2 函數的參數 111
6.2.1 必選參數 111
6.2.2 關鍵字參數 112
6.2.3 默認參數 113
6.2.4 不定長參數 113
6.2.5 混合傳遞 114
6.3 變量的作用域 115
6.3.1 局部變量和全局變量 115
6.3.2 global和nonlocal關鍵字 116
6.4 匿名函數 118
6.4.1 匿名函數的定義 118
6.4.2 匿名函數的特征 119
6.4.3 匿名函數的使用 119
6.5 內置函數介紹 120
練習六 123
第7章 模塊 126
7.1 模塊概述 126
7.2 模塊的導入 127
7.2.1 直接使用import導入模塊 127
7.2.2 通過sys模塊導入自定義
模塊的path 129
7.2.3 通過pth文件找到自定義模塊 130
7.3 基本模塊的使用 130
7.3.1 math模塊 131
7.3.2 random庫 136
7.3.3 time庫 138
7.4 包 142
7.4.1 引入包的原因 142
7.4.2 導入和使用包 142
練習七 143
第8章 文件 145
8.1 文件的基本操作 145
8.1.1 文件與文件對象 145
8.1.2 打開和關閉文件 146
8.1.3 文件寫入 148
8.1.4 順序讀取寫入文件的內容 149
8.1.5 隨機讀取文件內容的方法 153
8.1.6 綜合實例—使用文件來
保存游戲 154
8.2 讀取存儲CSV格式 158
8.2.1 CSV文件格式 158
8.2.2 常規CSV文件存取過程 158
8.2.3 使用CSV模塊讀寫文件 161
8.3 其他類型文件的讀取與寫入 161
8.3.1 xlrd模塊讀取Excel文件 161
8.3.2 xlwt模塊寫Excel文件 162
8.4 使用os模塊處理文件和目錄 163
8.4.1 os模塊常用方法 163
8.4.2 遍歷目錄及子目錄 163
8.5 文件使用綜合實例 164
練習八 167
第9章 面向對象程序設計 169
9.1 面向對象的程序設計思想 169
9.2 類的定義和使用 170
9.2.1 創建類和對象 170
9.2.2 數據成員 171
9.2.3 方法 172
9.3 類的繼承與方法重載 175
9.3.1 派生類的定義和使用 175
9.3.2 方法重載 176
9.3.3 面向對象程序設計應用小結 177
9.4 面向對象程序設計應用案例 178
練習九 183
第10章 異常處理 184
10.1 什么是異常 184
10.2 如何處理異常 186
10.3 處理多個異常 187
練習十 188
第二部分 項 目 實 踐
第11章 項目1:根據函數繪制曲線 190
11.1 主要問題 190
11.1.1 turtle模塊繪制坐標系 190
11.1.2 使用NumPy模塊獲得散點數列 192
11.1.3 2D繪圖模塊turtle動畫展示
曲線 192
11.2 項目實施 193
11.2.1 程序流程 193
11.2.2 程序代碼 194
11.2.3 運行結果 197
11.3 項目擴展 198
11.3.1 使用matplotlib顯示靜態曲線 198
11.3.2 打包成exe文件 198
第12章 項目2:辦公自動化程序設計 201
12.1 批量創建Excel文檔 201
12.1.1 任務介紹 201
12.1.2 Excel基本模型概念與常用
第三方庫(包) 202
12.1.3 任務處理 204
12.2 批量處理Excel數據 210
12.2.1 任務介紹 210
12.2.2 任務分析 211
12.2.3 任務處理 212
12.3 批量處理Word文檔 214
12.3.1 任務介紹 215
12.3.2 相關模塊介紹 215
12.3.3 任務處理 217
第13章 項目3:網頁數據下載與處理 221
13.1 使用urllib庫爬取數據 221
13.2 相關知識點 222
13.2.1 網絡請求與響應 222
13.2.2 字符編碼與解碼 223
13.2.3 HTML 224
13.3 用etree和xpath提取數據 225
13.4 將提取的數據存到列表中 228
13.5 將列表中的數據存為CSV文件
和TXT文件 229
13.5.1 用time庫獲取日期時間 229
13.5.2 使用Pandas庫實現數據處理 230
13.6 分詞數據和詞云數據分析 232
13.6.1 使用jieba庫實現分詞 232
13.6.2 使用wordcloud庫生成詞云 233
13.6.3 使用matplotlib庫實現詞云的
可視化 234
第14章 項目4:Django+MySQL Web開發 236
14.1 概述 236
14.2 Django簡介 238
14.2.1 框架介紹 238
14.2.2 架構設計 238
14.2.3 工作機制 239
14.2.4 部署 240
14.2.5 文檔 240
14.3 MVC框架介紹 240
14.4 Python Django的安裝 241
14.5 使用PyCharm和Django創建
簡單的Web服務器 242
14.5.1 軟件安裝 242
14.5.2 PyCharm 新建Django工程 242
14.5.3 項目啟動 243
14.5.4 Web工程添加頁面 244
14.5.5 動態數據顯示 246
14.5.6 數據庫準備 247
14.5.7 連接數據庫 250
第15章 項目5:二手房價格預測 255
15.1 圖形用戶界面(GUI) 255
15.2 在界面中集成爬取二手房數據功能 257
15.2.1 使用pypinyin庫將漢字轉換為
漢語拼音首字母 257
15.2.2 使用requests庫發送HTTP
請求 257
15.2.3 使用bs4庫解析HTML頁面 258
15.2.4 使用csv模塊將數據寫入文件 260
15.2.5 整合代碼 261
15.3 房價預測 264
15.3.1 數據清洗、預處理 265
15.3.2 線性回歸模型 270
15.3.3 模型性能評估 272
15.4 總結 275
附錄 全國計算機等級考試二級Python語言
程序設計考試大綱(2022年版) 276
- 大學生創新創業基礎 [主 編 李婷 張玉萍]
- 多維視域下的高校籃球教學創新研究 [張利超 李寧 著]
- 創新創業訓練實踐教程 [主編 王日華 陳武 黃喆誠]
- 智能控制導論(第四版) [蔡自興 編著]
- 輸水管線工程風險管理 [張勇 黨亥生 著]
- 民用航空飛機標準線路施工 [主編 王志敏 陳明]
- 不息的水脈—大運河講談錄 [趙珩 著]
- 實用運籌學 [主編 邢育紅 于晉臣]
- 三峽梯級電站水資源決策支持系統研究與開發 [姚華明 潘紅忠 湯正]
- 海南黎族民俗文化鑒賞 [龐國華 著]
- 石墨烯在太赫茲及中紅外頻段電磁器件設計中的應用 [李艷秀 莊華偉 著]
- 電子技術(第二版) [主編 覃愛娜 李飛]
- 辦公自動化高級應用 [陳萍 朱曉玉]
- 信息處理技術員考試32小時通關 [薛大龍]
- 電子產品設計案例教程(微課版)—基于嘉立創EDA(專業版) [王靜 莫志宏 陳學昌 丁紅]
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- Web技術開發教程(基于.NET開源MVC框架) [王合闖 韓紅玲 王青正 陳海蕊]
- 商務英語翻譯教程(筆譯)(第四版) [主編 王軍平]
- 智慧零售技術與應用 [洪旭 著]
- 建設工程法規實務 [主編 余瀅]
- 商務秘書理論與實務(第三版) [主編 張同欽]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- 勞動爭議處理實務 [主編 王秀卿 羅靜]
- 工程數學 [主編 郭立娟 王海]
- 語音識別理論與實踐 [主編 莫宏偉]
- 信息系統項目管理師章節習題與考點特訓(第二版) [主編 薛大龍]
- 武術基礎教程 [主編 李代勇 謝志民]
- 計算機網絡實訓教程 [主編 張浩軍 趙玉娟]