本教材以 Windows操作系統為平臺,系統講解 Python3的基礎知識。全書共 11章,主要介紹了 Python基本語法、字符串、列表、元組、字典、文件的讀寫、函數與模塊等基礎知識。首先介紹了 Python的特點、發展及推薦學習方法,然后講授了 Python基礎語法、流程控制語句、數據類型、函數、模塊、面向對象、文件處理、異常處理、數據庫操作,最后增加了全國計算機等級考試二級 Python語言程序設計考試中所要求的第三方庫相關知識等。教材根據“自主式一體化教學”模式,對教材的構成要素進行調整,按照 Python的有關知識由淺入深、從易到難進行編寫,并在每章后布置實訓與練習,實現“教、學、做”一體,從而切實提高學生的持續發展能力。本教材力求為數據采集及分析提供全面的語言基礎,同時也考慮到部分學有余力的同學參加全國計算機等級考試的要求,補充了全國計算機等級考試二級 Python語言程序設計考試大綱規定的知識,故也適合作為全國計算機等級考試二級考試 Python語言程序設計考試參考用書。為提升學習效果,教材結合實際應用提供了大量的案例進行說明和訓練,并配以完善的學習資料和支持服務,包括教學大綱、教學進度表、教學 PPT、案例源碼等,為讀者提供全方位的學習服務。
周勝,男,高級實驗師,擔任軟件專業負責人,近五年來,課程及資源建設完成如下:2013年主持完成《ASP.NET動態網頁開發》課程信息化建設;2014年完成《計算機組裝與維護實訓指導書》校本教材建設;2015年完成《XAML基礎教程》工學結合校本教材建設;2016年完成《大學計算機基礎教程》編寫及出版工作;2018年上半年完成《Python數據分析程序基礎》工學結合校本教材建設。
目錄
第 1章初識 Python ·························································································· 1
1.1認識 Python ····························································································· 1
1.1.1 Python初識 ···················································································· 2
1.1.2 Python的特點及應用領域 ·································································· 2
1.1.3 Python的學習方法 ··········································································· 3
1.2搭建環境 ································································································· 4
1.2.1 Python下載 ···················································································· 5
1.2.2 Python IDLE開發環境 ······································································· 7
1.2.3 PyCharm開發環境 ··········································································· 8
1.2.4 Anaconda3開發環境 ········································································10
1.3打包發布 ································································································16
1.3.1 pip包管理工具 ···············································································16
1.3.2 PyInstaller······················································································19
1.4實訓 1:使用環境搭建 ··············································································22【本章習題】 ··································································································22
第 2章編程基礎 ·····························································································24
2.1認識 Python程序和中文編碼 ······································································24
2.2 Python固定語法 ······················································································25
2.2.1 Python代碼塊 ················································································25
2.2.2 Python行處理 ················································································26
2.2.3 Python標識符及保留字 ····································································28
2.3 Python基本輸入輸出 ················································································30
2.3.1用戶輸入 ·······················································································30
2.3.2屏幕輸出 ·······················································································32
2.4 Python變量和數據類型 ·············································································33
2.4.1變量和賦值 ····················································································34
基礎教程
2.4.2簡單數據類型 ·················································································35
2.4.3類型轉換 ·······················································································40
2.5 Python的對象和變量 ················································································41
2.5.1對象的類型與身份 ···········································································42
2.5.2變量引用對象 ·················································································42
2.5.3共享引用 ·······················································································43
2.6 Python運算符 ·························································································45
2.6.1算術運算符 ····················································································45
2.6.2比較運算符 ····················································································47
2.6.3賦值運算符 ····················································································48
2.6.4位運算符 ·······················································································49
2.6.5邏輯運算符 ····················································································50
2.6.6成員運算符 ····················································································51
2.6.7身份運算符 ····················································································52
2.6.8運算符優先級 ·················································································52
2.7實訓 2:班級競選統計 ··············································································54【本章習題】 ··································································································56
第 3章控制流程 ·····························································································58
3.1條件語句 ································································································58
3.1.1 if條件語句 ····················································································59
3.1.2實踐運用 ·······················································································62
3.2循環語句 ································································································63
3.2.1循環語句概述 ·················································································63
3.2.2 while循環語句 ···············································································63
3.2.3 for循環語句 ··················································································65
3.2.4循環嵌套 ·······················································································66
3.2.5實踐運用 ·······················································································67
3.3其他語句 ································································································67
3.3.1 break語句 ·····················································································68
3.3.2 continue語句··················································································70
3.3.3 pass語句·······················································································71
3.3.4 else語句 ·······················································································71
3.4實訓 3:數字金字塔 ·················································································73【本章習題】 ··································································································74
第 4章 Python數據類型 ···················································································76
4.1 Python序列操作 ······················································································76
4.2 Python字符串 ·························································································79
4.2.1 Python字符串操作 ··········································································80
目錄
4.2.2字符串格式化輸出 ···········································································83
4.2.3三引號 ··························································································85
4.2.4字符串函數 ····················································································86
4.3 Python列表 ····························································································95
4.3.1列表概述 ·······················································································96
4.3.2列表操作 ·······················································································96
4.3.3列表函數 ····················································································· 100
4.4 Python元組 ·························································································· 104
4.4.1元組概述 ····················································································· 104
4.4.2元組操作 ····················································································· 105
4.4.3元組函數 ····················································································· 108
4.5 Python字典 ·························································································· 109
4.5.1字典概述 ····················································································· 110
4.5.2字典操作 ······················································································111
4.5.3字典函數 ····················································································· 116
4.6 Python集合 ·························································································· 122
4.6.1集合概述 ····················································································· 122
4.6.2集合操作 ····················································································· 123
4.6.3集合函數 ····················································································· 126
4.7對象的淺復制與深復制 ··········································································· 127
4.7.1淺復制 ························································································ 128
4.7.2深復制 ························································································ 129
4.8推導式 ································································································· 129
4.8.1列表推導式 ·················································································· 130
4.8.2字典推導式 ·················································································· 131
4.8.3集合推導式 ·················································································· 132
4.9實訓 4:創建學生信息管理系統用戶數據 ···················································· 132【本章習題】 ································································································ 133
第 5章代碼復用 —函數 ···············································································136
5.1 Python函數 ·························································································· 136
5.1.1函數概念 ····················································································· 137
5.1.2函數定義 ····················································································· 137
5.1.3函數調用 ····················································································· 138
5.1.4函數的嵌套定義 ············································································ 139
5.2 Python函數參數 ···················································································· 140
5.2.1參數··························································································· 140
5.2.2參數傳遞 ····················································································· 143
5.2.3函數返回值 ·················································································· 144
5.3 Python全局變量與局部變量 ····································································· 144
基礎教程
5.3.1變量作用域 ·················································································· 145
5.3.2全局變量和局部變量 ······································································ 145
5.3.3 global語句 ·················································································· 146
5.3.4 nonlocal語句················································································ 147
5.4 Python匿名函數 ···················································································· 148 5.5實訓 5:使用函數編寫學生信息管理系統 ···················································· 149【本章習題】 ································································································ 152
第 6章代碼復用 —模塊 ···············································································154
6.1模塊概述 ······························································································ 154
6.2模塊的使用 ··························································································· 155
6.2.1模塊導入 ····················································································· 156
6.2.2模塊定位查找 ··············································································· 158
6.2.3自定義模塊調用 ············································································ 159
6.3 Python中的包 ······················································································· 160
6.3.1包的概念 ····················································································· 160
6.3.2包使用實例 ·················································································· 161
6.4常用模塊介紹 ······················································································· 162
6.4.1時間與日期 ·················································································· 163
6.4.2 math庫······················································································· 166
6.4.3 json模塊····················································································· 168
6.5實訓 6:使用模塊編寫學生信息管理系統 ···················································· 170【本章習題】 ································································································ 173
第 7章 Python面向對象 ·················································································175
7.1面向對象編程簡介 ················································································· 175
7.2類和對象 ······························································································ 177
7.2.1類的創建 ····················································································· 177
7.2.2實例對象 ····················································································· 179
7.2.3類的方法 ····················································································· 179
7.3類的繼承 ······························································································ 182
7.4類的方法重寫 ······················································································· 184
7.4.1方法重寫 ····················································································· 185
7.4.2運算符重載 ·················································································· 186
7.5實訓 7:使用類編寫學生信息管理系統 ······················································· 187【本章習題】 ································································································ 190
第 8章文件處理 ···························································································192
8.1打開和關閉文件 ···················································································· 192
8.2文件讀寫 ······························································································ 196
目錄
8.3重命名和刪除文件 ················································································· 199
8.3.1 os模塊 ······················································································· 199
8.3.2重命名和刪除文件操作 ··································································· 202
8.4 Python文件夾操作 ················································································· 203
8.5 csv文件操作 ························································································· 204
8.5.1 csv數據······················································································ 205
8.5.2讀取 csv數據··············································································· 205
8.5.3寫入.csv文件··············································································· 208
8.6實訓 8:基于文件的學生信息管理系統 ······················································· 209【本章習題】 ································································································ 212
第 9章異常處理 ···························································································214
9.1異常···································································································· 214
9.1.1異常概述··························································································· 215
9.1.2異常的檢測與處理 ········································································· 217
9.2拋出異常 ······························································································ 221
9.2.1拋出異常處理 ··············································································· 221
9.2.2用戶自定義異常 ············································································ 224
9.3 with語句 ····························································································· 225 9.4實訓 9:實現異常處理的學生信息管理系統 ················································· 226【本章習題】 ································································································ 231
第 10章 MySQL數據庫操作 ············································································233
10.1訪問 MySQL數據庫·············································································· 234
10.1.1 pymysql模塊安裝········································································ 234
10.1.2事務機制 ··················································································· 234
10.1.3 Python操作數據庫過程及對象 ························································ 235
10.2數據庫操作 ························································································· 236
10.2.1連接 MySQL數據庫····································································· 236
10.2.2創建數據庫表 ············································································· 237
10.2.3數據庫讀寫 ················································································ 239
10.3實訓 10:基于 MySQL數據庫的學生信息管理系統 ······································ 243【本章習題】 ································································································ 247
第 11章計算生態 ··························································································249
11.1 Turtle標準庫 ······················································································· 249
11.1.1 Turtle基礎 ················································································· 250
11.1.2 Turtle繪圖命令 ··········································································· 251
11.1.3 Turtle命令操作 ··········································································· 252
11.2 random標準庫 ····················································································· 254
Python基礎教程
11.2.1 random庫介紹 ············································································ 255
11.2.2 random庫常用函數 ······································································ 255
11.3 jieba第三方庫 ······················································································ 257
11.3.1 jieba庫簡介 ················································································ 258
11.3.2 jieba庫的安裝 ············································································· 258
11.3.3 jieba分詞應用 ············································································· 259
11.3.4 jieba單詞統計 ············································································· 259
11.4 wordcloud第三方庫 ·············································································· 260
11.4.1 wordcloud庫安裝 ········································································· 261
11.4.2 wordcloud基本使用 ······································································ 261
11.5實訓 11:運行的時鐘 ············································································ 265【本章習題】 ································································································ 267
附錄全國計算機等級考試二級 Python語言程序設計考試大綱( 2018年版) ·············269