Python程序設計教程
-
【作 者】主編 李治國 武春嶺
【I S B N 】978-7-5170-6588-3
【責任編輯】張玉玲
【適用讀者群】高職高專
【出版時間】2018-07-10
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】192
【千字數】295
【印 張】12
【定 價】¥34
【叢 書】普通高等教育數據科學與大數據技術專業教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
目前已經出版的Python相關教材大多以Python 2.0為平臺編寫,具有一定的局限性。其程序代碼已經無法直接在最新的Python平臺上運行,不能很好地滿足讀者對Python語言的學習需求。本書以Python 3.0為基礎編寫,融入了最新的Python語言和編程特點。本書一共11章,從基本語法入手,涵蓋了Python語言中的常見序列結構、常見語句、函數文件、類和繼承、多線程編程、圖形界面設計、數據庫應用、網絡應用和Web應用等內容。本書采用案例引導的方式,每個章節精心編排了大量的案例程序,生動形象地向學生展示了知識結構和項目應用。書中的所有程序都經過調試運行,保證了案例程序的正確性。
本書具有清晰易懂、案例豐富、實戰性強的特點,適合本科和高職高專學生作為學習教程,同時也可以作為Python編程愛好者和程序員的學習和參考資料。
本書以Python 3.0 為基礎編寫,融入了最新的Python 語言和編程特點。從理論延伸到實踐,將讀者逐步引入到Python 程序設計的精彩世界中。從基本語法入手,循序漸進,涵蓋了Python 語言中的常見序列結構、常見語句、函數文件、類和繼承、多線程編程、圖形界面設計、數據庫應用、網絡應用和Web 應用等內容。
本書采用案例引導的方式,每個章節精心編排了大量的案例程序,生動形象地向學生展示了知識結構和項目應用。書中的所有程序都經過調試運行,保證了案例程序的正確性。
前 言
Python語言是一種計算機編程語言,作用類似于C/C++/Java/Perl/VB/Delphi等計算機編程語言,具有非常清晰易讀的語法特點,是一種面向對象的高級語言,并且可以進行擴展。Python語言用途非常廣泛,支持Java和.Net技術,可以運行在Windows、Linux、FreeBSD、Solaris等幾乎所有的操作系統上,也可以運行在手機中。目前在國際上非常流行,正在得到越來越多的重視。
Python語言使用方便,不需要進行復雜的編譯,可以進行各種軟件的開發,比如:制作網站、開發圖形界面(GUI)程序、網絡編程、數據庫編程、圖形圖像處理、科學計算、手機編程、游戲編程等。
本書基于Python 3.0版本編寫。Python 3.0是目前Python的較新版本,相比之前的版本在部分語法上更加精煉合理,并且得到更多第三方軟件的支持,擁有更加廣闊的資源。由于Python 3.0版本在設計時沒有考慮向下兼容,因此許多早期Python版本設計的程序都無法在Python 3.0上正常執行。本教程中的所有案例均需要在Python 3.0環境下運行和調試。
本教程一共11章,從基本語法入手,循序漸進,從理論延伸到實踐,將讀者逐步引入到Python程序設計的精彩世界中。第1章介紹了Python語言的特點,該語言的編譯器及開發環境的安裝方法以及在編程過程中的程序調試環境。第2章主要講解Python語言的變量類型和常用語句。第3章闡述了字符串、列表、元組、集合、字典等五種數據結構和應用。第4章介紹函數的概念、函數的定義方法以及如何調用函數。第5章介紹利用Python語言中的輸入和輸出功能、讀取和寫入的方法,以及文件內建函數、方法、屬性及文件系統等內容。第6章講解Python語言的面向對象編程。第7章介紹基于Tkinter 模塊的圖形界面編程。第8章闡述線程創建、線程同步和線程優先級等內容。第9章基于SQLite數據庫和MySQL數據庫,詳細介紹數據庫的創建、查詢和修改等內容。第10章講解網絡中最常用的套接字和郵件服務等網絡編程和應用。第11章講述Web開發,介紹與Python Web開發技術相關的WSGI框架和模板的使用。
全書由重慶電子工程職業學院的李治國、武春嶺任主編,唐乾林、梁雪梅、魯先志、周璐璐、趙怡為副主編。中國水利水電出版社的寇文杰編輯對本書的出版給予了大力支持。在此,謹向為本書出版付出辛勤勞動的同志表示感謝。
由于編者水平有限,書中不足之處和錯誤在所難免,懇請廣大讀者批評指正,我們將在再版時及時改進。編者的E-mail:578774623@qq.com。
編 者
2018年4月
第1章 Python概述 1
1.1 Python語言概述 1
1.1.1 什么是Python語言 1
1.1.2 Python語言特點 2
1.2 Python開發環境的安裝與配置 2
1.2.1 Python安裝 3
1.2.2 環境變量配置 3
1.3 IDLE編程環境 4
1.3.1 通過交互模式進行編程 5
1.3.2 通過腳本模式進行編程 5
1.3.3 使用IDLE的調試器 6
1.4 PyCharm編程環境 7
習題 10
第2章 Python程序設計基礎 12
2.1 Python基本語法 12
2.1.1 標識符 12
2.1.2 程序注釋 12
2.1.3 代碼塊和組 13
2.1.4 基本輸出語句 14
2.2 變量和數字類型 14
2.2.1 變量 14
2.2.2 數據類型 15
2.2.3 數字類型轉換 15
2.3 使用解釋器 16
2.3.1 交互式編程 16
2.3.2 腳本式編程 16
2.4 運算符和優先級 17
2.4.1 運算符 17
2.4.2 優先級 21
2.5 條件控制語句 21
2.5.1 if語句 22
2.5.2 if嵌套 23
2.6 循環語句 24
2.6.1 while語句 24
2.6.2 for語句 26
2.6.3 break和continue語句 28
2.7 迭代器和生成器 31
2.7.1 迭代器 31
2.7.2 生成器 32
習題 32
第3章 序列數據結構 34
3.1 字符串 34
3.1.1 字符串查詢 34
3.1.2 字符串更新 35
3.1.3 轉義字符 35
3.1.4 字符串運算符 36
3.1.5 字符串格式化 38
3.2 列表 38
3.2.1 列表賦值 39
3.2.2 列表查詢 39
3.2.3 列表更新 39
3.2.4 列表元素刪除 40
3.2.5 列表操作符 41
3.2.6 列表嵌套 42
3.3 元組 42
3.3.1 元組查詢 43
3.3.2 元組修改 43
3.3.3 刪除元組 43
3.3.4 元組運算符 44
3.4 集合 45
3.4.1 集合創建 45
3.4.2 集合運算 45
3.5 字典 46
3.5.1 字典查詢 47
3.5.2 字典修改 48
3.5.3 字典元素刪除 48
3.5.4 字典的特性 48
習題 49
第4章 函數和模塊 51
4.1 函數 51
4.1.1 函數定義 51
4.1.2 函數調用 52
4.2 參數傳遞 54
4.2.1 參數傳遞對象 54
4.2.2 參數傳遞類型 55
4.3 匿名函數 58
4.4 返回值 58
4.5 變量作用域 59
4.5.1 作用域的范圍 59
4.5.2 全局變量和局部變量 59
4.5.3 global和nonlocal關鍵字 60
4.6 模塊 61
4.6.1 模塊定義 61
4.6.2 模塊導入 62
4.7 標準模塊 63
4.8 時間模塊 63
4.8.1 時間戳 63
4.8.2 獲取當前時間 64
4.8.3 獲取格式化時間 64
4.8.4 格式化日期 64
4.8.5 獲取某月日歷 66
習題 66
第5章 輸入輸出和文件 68
5.1 輸入輸出 68
5.1.1 輸出格式 68
5.1.2 鍵盤輸入 70
5.2 文件操作 70
5.2.1 open()函數 70
5.2.2 close()函數 71
5.2.3 文件對象屬性 72
5.3 文件對象操作 73
5.3.1 read()函數 73
5.3.2 write()函數 73
5.3.3 readline()函數 74
5.3.4 next()函數 74
5.3.5 seek()函數 75
5.3.6 tell()函數 76
習題 77
第6章 面向對象編程 78
6.1 創建類 78
6.1.1 類的定義 78
6.1.2 類的實例化 78
6.1.3 類的方法 79
6.1.4 構造方法 80
6.1.5 私有屬性和方法 80
6.2 繼承 82
6.2.1 繼承的定義和特征 82
6.2.2 單繼承 83
6.2.3 多繼承 84
6.2.4 方法重寫 85
6.2.5 運算符重載 86
習題 88
第7章 GUI編程 90
7.1 Tkinter模塊功能 90
7.1.1 創建一個GUI程序 90
7.1.2 Tkinter控件簡介 91
7.2 Tkinter圖形界面控件 92
7.2.1 Label控件 92
7.2.2 Button控件 93
7.2.3 Canvas控件 94
7.2.4 Checkbutton控件 95
7.2.5 Radiobutton控件 98
7.2.6 Entry控件 101
7.2.7 Combobox控件 102
7.2.8 ScrolledText控件 104
7.2.9 Menu控件 108
7.2.10 Frame控件 109
7.3 事件響應 113
7.3.1 鼠標事件 113
7.3.2 鍵盤事件 115
習題 117
第8章 多線程編程 119
8.1 進程和線程簡介 119
8.1.1 進程和線程的概念 119
8.1.2 進程與線程之間的關系 119
8.2 線程創建 120
8.2.1 函數方法創建線程 120
8.2.2 用threading模塊創建線程 121
8.3 線程同步 123
8.3.1 線程鎖 123
8.3.2 threading.RLock和threading.Lock
的區別 126
8.3.3 BoundedSemaphore 126
8.3.4 event 128
8.3.5 conditions 130
8.3.6 barriers 132
8.4 Queue模塊 133
8.4.1 FIFO隊列 133
8.4.2 LIFO隊列 133
習題 137
第9章 數據庫編程 139
9.1 數據庫簡介 139
9.1.1 數據庫系統管理 139
9.1.2 關系型數據庫 140
9.2 SQLite數據庫應用 141
9.2.1 關于SQLite數據庫 141
9.2.2 連接SQLite數據庫 141
9.2.3 創建表 142
9.2.4 刪除表 144
9.2.5 向表中添加數據 144
9.2.6 查找數據 145
9.2.7 更新數據 146
9.2.8 刪除數據 148
9.3 MySQL數據庫應用 149
9.3.1 關于MySQL數據庫 149
9.3.2 安裝MySQL數據庫 149
9.3.3 安裝PyMySQL模塊 151
9.3.4 連接數據庫 152
9.3.5 創建表 152
9.3.6 插入數據 153
9.3.7 查詢數據 154
9.3.8 更新數據 155
9.3.9 刪除數據 156
習題 156
第10章 網絡編程應用 158
10.1 Socket編程 158
10.1.1 套接字模塊 158
10.1.2 編寫一個簡單的服務器 160
10.2 郵件服務程序 161
10.2.1 發送普通電子郵件 162
10.2.2 發送HTML電子郵件 163
10.2.3 發送帶附件的電子郵件 164
10.2.4 在HTML文本中添加圖片 165
習題 166
第11章 Web開發 168
11.1 Web服務簡介 168
11.1.1 HTTP協議 169
11.1.2 HTTP跟蹤 170
11.1.3 HTTP格式 170
11.2 超文本 171
11.2.1 HTML 171
11.2.2 CSS 172
11.2.3 JavaScript 174
11.3 WSGI接口 175
11.3.1 WSGI接口介紹 175
11.3.2 運行WSGI服務 176
11.4 Web框架 178
11.4.1 Flask框架簡介 178
11.4.2 Flask框架應用 178
11.5 模板 181
11.5.1 模板的功能 181
11.5.2 MVC框架 181
11.5.3 MVC應用 182
習題 184
參考文獻 185
- 實用運籌學 [主編 邢育紅 于晉臣]
- 電子技術(第二版) [主編 覃愛娜 李飛]
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- 勞動爭議處理實務 [主編 王秀卿 羅靜]
- 工程數學 [主編 郭立娟 王海]
- 語音識別理論與實踐 [主編 莫宏偉]
- 武術基礎教程 [主編 李代勇 謝志民]
- 計算機網絡實訓教程 [主編 張浩軍 趙玉娟]
- 畫法幾何與機械制圖習題集(多學時) [主編 趙軍]
- SwiftUI完全開發 [李智威 著]
- 電工電子技術基礎 [主編 劉 軍 楊國龍 劉天成]
- MySQL數據庫項目式教程 [陳亞峰]
- 機械設計基礎(第二版) [主編 田亞平 李愛姣]
- 畫法幾何與機械制圖 [主編 趙軍]
- C語言程序設計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設計(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現實應用開發實踐 [主 編 劉龍]
- 智能化技術基礎(第三版) [鄧文達 李禮]
- Python程序設計 [主編 姜春磊 陳虹潔]
- C語言程序設計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向對象程序設計 [主編 張勇 張平華 趙小龍]
- Python程序設計基礎及實戰 [主編 劉健]
- 網絡營銷 [主編 夏薇薇 劉婷 尚潔]
- C語言程序設計 [姜雪]
- Python程序設計實踐教程 [王鶴琴 蔡正保]
- 電視節目策劃與制作(微課版) [主 編 黃滴滴]
- 數據庫技術與應用實踐教程(SQL Server 2019) [主 編 嚴暉 周肆清]