Python程序設計與應用
-
【作 者】主編 張廣淵
【I S B N 】978-7-5170-7480-9
【責任編輯】張玉玲
【適用讀者群】本專通用
【出版時間】2019-03-20
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】220
【千字數】335
【印 張】13.75
【定 價】¥38
【叢 書】應用型高等院校教學改革創新教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書是一本基礎性強、可讀性好、適合入門的Python語言教學教材。讀者通過本書的學習,能夠快速掌握Python語言的入門知識,并通過項目實踐學習,了解項目的基本開發流程和常用第三方庫的使用。
本書內容分為兩大部分:第一部分是Python語言編程基礎知識,共10章,第1章是緒論,第2章是Python編程環境搭建,第3章是Python程序設計入門,第4章是程序控制,第5章是列表、元組、字典、集合,第6章是函數,第7章是模塊,第8章是面向對象程序設計,第9章是文件,第10章是異常處理;第二部分是項目實踐,共有4個小項目,分別是根據函數繪制曲線,分析微信好友數據,網頁數據下載與處理,Django+MySQL Web開發。
本書既面向計算機軟件編程零基礎和剛入門的讀者,也適用于具備一定基礎、開始學習第三方庫的使用和初級項目實施的讀者,還可作為參加全國計算機等級考試Python語言考試的參考用書。
可讀性好——通過淺顯易懂的語言結合豐富的配圖,使得編程初學者能夠快速入門掌握 Python 語言。
注重實踐——通過設計項目實踐環節,使初學者能夠使用編程思維解決問題,并通過項目實踐了解項目的基本開發流程和常用第三方庫的使用。
適應面廣——既面向計算機軟件編程零基礎和剛入門的讀者,也適用于具備一定基礎、開始學習第三方庫的使用和初級項目實施的讀者。
前 言
Python語言已成為目前最受歡迎的計算機語言之一,其生態鏈應用也越來越廣泛,從繪制圖形到詞頻統計,從圖像處理到Web開發,從科學計算到嵌入式開發,越來越多的場景可以使用Python語言來解決。尤其是人工智能時代的到來,調用方便、科學計算功能強大的Python依舊在AI領域擁有最強大的競爭力,可以說,Python語言就是人工智能領域的BASIC語言。
本書的編寫旨在推動Python語言教學作為應用型本科大學相關專業的公共基礎課程來進行教授。本書內容分為兩大部分:第一部分是Python語言編程基礎知識,通過淺顯易懂的語言結合豐富的配圖,使得編程初學者能夠快速入門掌握Python語言;第二部分是項目實踐,通過設計項目實踐環節,初步展現解決問題的過程和方法,使初學者能夠使用編程思維解決問題,并通過項目實施了解簡單項目的開發流程,掌握一些常用第三方庫的使用。因此,本書既面向計算機軟件編程零基礎和剛入門的讀者,也適用于具備一定基礎、開始學習第三方庫的使用和初級項目實施的讀者。
本書依據全國計算機等級考試Python語言考試大綱在內容上做了對應的編排,覆蓋了大綱所要求掌握的內容范圍,在基礎知識部分各章的后面都附有大量的習題可供練習,可作為參加全國計算機等級考試Python語言考試的參考用書。
本書第一部分基礎知識共分10章。第1章闡述了計算機的基本概念、軟硬件的發展歷史和現狀,并對Python語言的基本概念和特點作了介紹;第2章介紹了Python編程環境的搭建,主要包括Anaconda、IDLE和PyCharm三種常用環境的搭建和使用;第3章介紹了Python語言基本內容,主要包括標識符、基本運算、賦值、字符串操作和內置函數的介紹;第4章主要介紹選擇和循環等程序控制結構;第5章介紹了Python語言常用的四種結構,包括列表、元組、字典和集合;第6章介紹了函數的使用、參數的傳遞以及全局變量和局部變量的使用;第7章介紹了模塊、包和第三方庫的引入和使用;第8章對面向對象程序設計方法進行了描述;第9章介紹了文件的基本操作,并對CSV文件和Excel文件在Python中的讀寫調用進行了詳細敘述;第10章專門圍繞異常處理進行了詳細描述。
第二部分項目實踐分4個項目進行練習。項目一主要是圍繞如何繪制圖形以及如何進行項目發布的任務來進行turtle、matplotlib和項目打包發布介紹;項目二設計實現對微信好友數據進行分析和繪制圖表的任務;項目三設計了一個網頁爬蟲任務,通過項目實施實現對urllib、etree、xpath、time、Pandas、jieba、wordCloud等第三方庫的介紹和使用;項目四基于Django框架和MySQL數據庫,實現了一個簡單的基于動態數據展示的Web應用。
本書第1、10章由張廣淵編寫,第2、9章、項目1和項目2由倪燃編寫,第3、4章由吳昌平編寫,第5、8章和項目3由李鳳云編寫,第6、7章和項目4由朱振方編寫,全書由張廣淵統稿。
本書內容基于Python 3編寫,所有源程序代碼均在Python 3編程環境下運行通過。Python計算生態和資源可從https://github.com/vinta/awesome-Python獲得。
由于編者水平有限,在本書編寫過程中難免出現錯誤和疏漏,懇請廣大讀者批評指正。
編 者
2018年12月
前言
第一部分 基礎知識
第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其他常用功能 24
2.2.1 常用應用程序及pip模塊安裝命令 24
2.2.2 常用科學包介紹 25
2.3 了解IDLE開發環境 30
2.3.1 啟動IDLE 31
2.3.2 使用IDLE編寫Python程序 32
2.4 使用PyCharm編輯器 33
2.4.1 下載安裝 34
2.4.2 新建項目 34
2.4.3 配置PyCharm 36
練習二 40
第3章 Python程序設計入門 41
3.1 標識符、關鍵字和數據類型 41
3.1.1 標識符、關鍵字 41
3.1.2 標準數據類型 43
3.2 常量與變量 43
3.2.1 常量 43
3.2.2 變量 45
3.3 運算符與表達式 46
3.3.1 算術運算符 46
3.3.2 關系運算符 47
3.3.3 邏輯運算符 47
3.3.4 位運算符 48
3.3.5 賦值運算符 48
3.3.6 成員運算符 49
3.3.7 標識(身份)運算符 49
3.3.8 運算符優先級 49
3.4 源程序書寫風格 50
3.4.1 注釋 50
3.4.2 縮進 50
3.4.3 語句換行 50
3.4.4 必要的空格與空行 51
3.5 賦值語句 51
3.6 基本輸入/輸出 51
3.6.1 Python基本輸入 51
3.6.2 Python基本輸出 52
3.7 字符串操作 56
3.7.1 字符串的存儲方式 56
3.7.2 字符串切片 56
3.7.3 字符串運算符 57
3.8 Python內置函數 58
3.8.1 Python數學函數 58
3.8.2 字符串函數 59
3.8.3 類型判斷和類型間轉換 61
練習三 62
第4章 程序控制 66
4.1 選擇結構 66
4.2 循環結構 70
4.2.1 while語句 70
4.2.2 for語句 71
4.2.3 break語句、continue語句和
pass語句 73
4.2.4 循環嵌套 74
練習四 75
第5章 列表、元組、字典、集合 78
5.1 列表 78
5.1.1 列表的創建與刪除 79
5.1.2 列表元素的訪問 79
5.1.3 用列表的基本操作實現案例任務 81
5.1.4 列表的高級操作 82
5.1.5 用列表的高級操作實現案例任務 82
5.2 元組 83
5.2.1 元組的創建與刪除 83
5.2.2 訪問元組的元素 84
5.2.3 元組的高級操作 84
5.2.4 用元組實現案例任務 85
5.3 字典 86
5.3.1 字典的創建和刪除 86
5.3.2 字典元素的基本操作 87
5.3.3 用字典實現案例任務 88
5.3.4 字典的高級操作 90
5.4 集合 90
5.4.1 集合的基本操作 91
5.4.2 用集合實現案例任務 91
5.4.3 集合運算 92
5.5 列表、元組、字典、集合的應用小結 93
練習五 94
第6章 函數 97
6.1 函數的基本結構 97
6.1.1 一個最簡單的函數 97
6.1.2 函數的語法結構 97
6.1.3 函數的調用 98
6.1.4 return [表達式] 98
6.2 函數調用過程中的參數傳遞 99
6.2.1 必選參數 99
6.2.2 關鍵字參數 100
6.2.3 默認參數 100
6.2.4 不定長參數 101
6.3 匿名函數 102
6.3.1 匿名函數的定義 102
6.3.2 匿名函數的特征 102
6.3.3 匿名函數使用 103
6.4 局部變量和全局變量 104
6.4.1 變量的作用域 104
6.4.2 局部變量和全局變量 104
6.4.3 global和nonlocal關鍵字 105
6.5 系統內置函數介紹 106
練習六 109
第7章 模塊 112
7.1 模塊概述 112
7.2 模塊的導入 113
7.2.1 直接使用import導入模塊 113
7.2.2 通過sys模塊導入自定義模塊
的path 115
7.2.3 通過pth文件找到自定義模塊 115
7.3 第三方庫的使用 116
7.4 包 116
7.4.1 引入包的原因 116
7.4.2 導入和使用包 117
練習七 118
第8章 面向對象程序設計 119
8.1 面向對象的程序設計思想 119
8.2 類的定義和使用 120
8.2.1 創建類和對象 120
8.2.2 數據成員 121
8.2.3 方法 122
8.3 類的繼承與方法重載 124
8.3.1 派生類的定義和使用 125
8.3.2 方法重載 126
8.4 面向對象程序設計應用小結 127
練習八 128
第9章 文件 129
9.1 文件的基本操作 129
9.1.1 文件與文件對象 129
9.1.2 打開和關閉文件 130
9.1.3 文件寫入 132
9.1.4 順序讀取寫入文件的內容 133
9.1.5 隨機讀取文件內容的方法 136
9.1.6 綜合實例——使用文件來保存游戲 138
9.2 讀取存儲CSV格式 142
9.2.1 CSV文件格式 142
9.2.2 常規CSV文件存取過程 142
9.2.3 使用CSV模塊讀寫文件 144
9.3 其他類型文件的讀取與寫入 145
9.3.1 xlrd模塊讀取Excel文件 145
9.3.2 xlwt模塊寫Excel文件 146
9.4 使用OS模塊處理文件和目錄 146
9.4.1 os模塊常用方法 147
9.4.2 遍歷目錄及子目錄 147
9.5 文件使用綜合實例 148
練習九 150
第10章 異常處理 152
10.1 什么是異常? 152
10.2 如何處理異常? 154
10.3 處理多個異常 155
練習十 156
第二部分 項目實踐
項目1 根據函數繪制曲線 158
11.1 主要問題 158
11.1.1 turtle模塊繪制坐標系 158
11.1.2 使用NumPy模塊獲得散點數列 160
11.1.3 2D繪圖模塊turtle動畫展示曲線 160
11.2 項目實施 161
11.2.1 程序流程 161
11.2.2 數據代碼 162
11.2.3 運行結果 164
11.3 項目擴展 165
11.3.1 使用matplotlib顯示靜態曲線 165
11.3.2 打包成exe文件 166
項目2 分析微信好友數據 168
12.1 項目準備 168
12.1.1 微信模塊wxpy 168
12.1.2 繪圖模塊matplotlib.pyplot 171
12.2 項目實施 174
12.2.1 程序流程 174
12.2.2 數據處理 175
12.2.3 全部代碼 176
12.2.4 運行結果 177
項目3 網頁數據下載與處理 179
13.1 使用urllib爬取數據 179
13.2 相關知識點 180
13.2.1 網絡請求與響應 180
13.2.2 字符編碼與解碼 181
13.2.3 HTML 182
13.3 用etree和xpath提取數據 183
13.4 將提取數據的數據存到列表中 186
13.5 將列表中的數據存為CSV文件和
TXT文件 186
13.5.1 用time庫獲取日期時間 187
13.5.2 使用Pandas庫實現數據處理 187
13.6 分詞數據和詞云數據分析 189
13.6.1 使用jieba庫實現分詞 190
13.6.2 使用wordcloud庫生成詞云 190
13.6.3 使用matplotlib庫實現詞云
的可視化 191
項目4 Django+MySQL Web開發 193
14.1 概述 193
14.2 Django簡介 195
14.2.1 框架介紹 195
14.2.2 架構設計 195
14.2.3 工作機制 196
14.2.4 部署 197
14.2.5 文檔 197
14.3 MVC框架介紹 197
14.4 Python Django的安裝 198
14.5 使用PyCharm和Django創建簡單的
Web服務器 198
14.5.1 軟件安裝 199
14.5.2 PyCharm新建Django工程 199
14.5.3 項目啟動 200
14.5.4 Web工程添加頁面 201
14.5.5 動態數據顯示 203
14.5.6 數據庫準備 204
14.5.7 連接數據庫 207
附錄 全國計算機等級考試二級Python語言
程序設計考試大綱(2018年版) 211
- 實用運籌學 [主編 邢育紅 于晉臣]
- 電子技術(第二版) [主編 覃愛娜 李飛]
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- 勞動爭議處理實務 [主編 王秀卿 羅靜]
- 工程數學 [主編 郭立娟 王海]
- 語音識別理論與實踐 [主編 莫宏偉]
- 武術基礎教程 [主編 李代勇 謝志民]
- 計算機網絡實訓教程 [主編 張浩軍 趙玉娟]
- 畫法幾何與機械制圖習題集(多學時) [主編 趙軍]
- SwiftUI完全開發 [李智威 著]
- 電工電子技術基礎 [主編 劉 軍 楊國龍 劉天成]
- MySQL數據庫項目式教程 [陳亞峰]
- 機械設計基礎(第二版) [主編 田亞平 李愛姣]
- 畫法幾何與機械制圖 [主編 趙軍]
- C語言程序設計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設計(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現實應用開發實踐 [主 編 劉龍]
- 智能化技術基礎(第三版) [鄧文達 李禮]
- Python程序設計 [主編 姜春磊 陳虹潔]
- C語言程序設計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向對象程序設計 [主編 張勇 張平華 趙小龍]
- Python程序設計基礎及實戰 [主編 劉健]
- 網絡營銷 [主編 夏薇薇 劉婷 尚潔]
- C語言程序設計 [姜雪]
- Python程序設計實踐教程 [王鶴琴 蔡正保]
- 電視節目策劃與制作(微課版) [主 編 黃滴滴]
- 數據庫技術與應用實踐教程(SQL Server 2019) [主 編 嚴暉 周肆清]