計算思維與Python編程實踐
張桂傑、王帥、王繼魁、孫英慧、於渺
商品描述
本書以計算思維的培養為核心,循序漸進地講解Python 編程全流程知識。從計算思維與Python 編程基礎入手,系統介紹語法規則、程序控制結構、數據結構等核心內容;再延伸至函數、文件操作、面向對象程序設計;最終講解GUI應用開發與數據庫編程實用技能,構建完整的 Python 學習體系。 本書知識點由淺入深、邏輯清晰,理論結合實操,兼顧基礎夯實與實戰應用。 本書適合作為高等院校計算機等相關專業教材使用,也可供Python編程初學者以及想要掌握編程技能、培養計算思維的職場入門者使用。
作者簡介
張桂傑,工學博士,吉林師範大學數學與計算機學院副教授,碩士生導師。 在教學方面一直擔任數據科學與大數據專業Python程序設計、數據分析與可視化、數據挖掘原理等課程的講授;在科研方面從事數據挖掘、社會網絡大數據分析等方面的研究。近年來主持吉林省科技廳項目1項,省教育廳科研項目3項,市科技局項目2項,省教研項目1項;主編學術專著1部。以第一作者發表學術論文14篇,其中SCI收錄1篇,EI期刊收錄5篇,核心1篇。指導國家級大創項目2項,省級大創項目1項。參與省科技廳項目2項,以第1人參與省教研項目2項,以第1人授權發明專利2項。主編教材1部,參編教材3部。
目錄大綱
目錄
第1章計算思維與Python編程1
1.1什麼是計算思維 1
1.1.1計算思維的定義1
1.1.2計算思維的四大核心要素2
1.1.3計算思維在現代社會的重要性5
1.2用計算思維解決問題6
1.2.1計算思維的問題求解流程7
1.2.2綜合示例: 規劃周末旅行8
1.2.3從問題到算法9
1.2.4算法的基本特性11
1.3計算思維與編程語言12
1.3.1編程語言: 計算思維的表達工具12
1.3.2Python語言簡介14
1.3.3用Python體現計算思維16
1.3.4學習Python的意義18
1.4如何培養計算思維20
1.4.1計算思維的培養方法20
1.4.2學習建議22
1.5本章小結23
1.6習題24
第2章Python基礎25
2.1Python語言概述25
2.2Python的安裝與使用27
2.2.1Python 版本選擇27
2.2.2Python 運行環境介紹28
2.2.3擴展庫的安裝和使用34
2.2.4第一個 Python 程序36
2.3Python程序設計基礎38
2.3.1變量與數據類型38
2.3.2運算符與表達式41
2.3.3Python 程序的構成44
2.3.4代碼規範與縮進45
2.4基本輸入輸出47
2.4.1輸入函數 47
2.4.2輸出函數 50
2.4.3綜合示例: 設計交互式成績計算器54
2.4.4常見問題與解決方案56
2.5本章小結57
2.6習題57
第3章程序控制結構59
3.1選擇結構60
3.1.1單分支選擇結構60
3.1.2雙分支選擇結構 61
3.1.3多分支選擇結構 62
3.1.4嵌套選擇結構63
3.1.5條件表達式64
3.1.6選擇結構的常見錯誤64
3.2循環結構65
3.2.1while循環: 基於條件的重復執行65
3.2.2for循環: 基於序列的遍歷執行66
3.2.3循環控制語句: break與continue68
3.2.4嵌套循環: 循環內部包含循環70
3.2.5循環結構的常見錯誤71
3.3本章小結72
3.4習題73
第4章Python數據結構76
4.1列表: 有序可修改的數據集77
4.1.1列表的定義與特點77
4.1.2列表的創建方法78
4.1.3列表的訪問: 索引與切片80
4.1.4列表的常用操作: 添加、刪除與查找81
4.1.5列表的常用方法83
4.1.6列表的遍歷85
4.1.7綜合示例: 學生成績管理系統86
4.1.8列表的常見錯誤與註意事項87
4.2元組: 有序不可變的數據集88
4.2.1元組的定義與特點88
4.2.2元組的創建方法89
4.2.3元組的訪問: 索引與切片91
4.2.4元組的常用方法與操作92
4.2.5元組的應用場景93
4.2.6元組與列表的核心差異對比95
4.2.7元組的常見錯誤與註意事項96
4.3字典: 鍵值映射的結構化數據集97
4.3.1字典的定義與核心特點97
4.3.2字典的創建方法98
4.3.3字典的訪問與修改100
4.3.4字典的常用方法102
4.3.5字典的遍歷104
4.3.6綜合示例: 商品庫存管理系統105
4.3.7字典的常見錯誤與註意事項108
4.4集合: 無序不重復的數據集109
4.4.1集合的定義與核心特點109
4.4.2集合的創建方法110
4.4.3集合的基本操作: 添加與刪除111
4.4.4集合的核心優勢: 數學運算112
4.4.5集合的遍歷與常用函數114
4.4.6綜合示例: 集合的典型應用場景115
4.4.7常見錯誤與註意事項117
4.4.8集合與其他數據結構的對比與選擇117
4.5字符串: 不可變的字符序列118
4.5.1字符串的定義與核心特點118
4.5.2字符串的創建方法119
4.5.3字符串的訪問: 索引與切片120
4.5.4字符串的常用基礎操作121
4.5.5字符串的常用方法122
4.5.6字符串格式化126
4.5.7綜合示例: 用戶註冊信息驗證系統127
4.5.8常見錯誤與註意事項129
4.6本章小結129
4.7習題130
第5章函數132
5.1函數的基本概念133
5.1.1什麼是函數133
5.1.2為什麼需要函數133
5.1.3函數的定義與調用134
5.2函數的參數136
5.2.1位置參數136
5.2.2默認參數137
5.2.3關鍵字參數139
5.2.4可變參數140
5.3函數的返回值144
5.3.1return語句144
5.3.2返回多個值146
5.3.3無返回值的函數148
5.4變量的作用域151
5.4.1局部變量與全局變量152
5.4.2global和nonlocal關鍵字154
5.5lambda表達式160
5.5.1lambda表達式的語法160
5.5.2lambda表達式的應用場景162
5.6Python模塊化程序設計167
5.6.1模塊的概念168
5.6.2創建和使用模塊168
5.6.3模塊的搜索路徑171
5.6.4常用的內置模塊171
5.6.5綜合示例: 學生管理系統181
5.7本章小結186
5.8習題186
第6章文件操作190
6.1文件對象與上下文管理器190
6.1.1文件對象的概念191
6.1.2open()函數191
6.1.3文件對象的基本方法192
6.1.4文件對象的資源管理問題193
6.1.5上下文管理器與with語句194
6.1.6文件對象的疊代特性195
6.1.7文件對象的屬性196
6.2文本文件的讀寫操作196
6.2.1文本文件的特點197
6.2.2文本文件的讀取操作197
6.2.3文本文件的寫入操作199
6.2.4文本文件的常見應用場景200
6.2.5文本文件操作的註意事項203
6.3讀寫二進制文件204
6.3.1二進制文件與文本文件的區別205
6.3.2二進制文件的打開模式205
6.3.3使用pickle模塊讀寫Python對象206
6.3.4使用json模塊讀寫數據209
6.3.5pickle與JSON的選擇212
6.4目錄操作214
6.4.1目錄操作的重要性214
6.4.2獲取和改變當前工作目錄215
6.4.3創建和刪除目錄216
6.4.4檢查路徑和獲取信息217
6.4.5遍歷目錄219
6.5本章小結220
6.6習題221
第7章面向對象程序設計225
7.1類的定義與使用226
7.1.1面向對象編程的基本概念226
7.1.2Python中類的定義語法226
7.1.3對象的創建227
7.1.4類的基本結構227
7.2類的屬性和方法228
7.2.1屬性的概念和分類228
7.2.2實例屬性228
7.2.3類屬性230
7.2.4實例方法231
7.2.5類方法和靜態方法233
7.2.6綜合示例: 學生成績管理類235
7.3類的繼承236
7.3.1繼承的基本概念236
7.3.2基本繼承語法237
7.3.3屬性繼承239
7.3.4多層繼承240
7.3.5多重繼承241
7.3.6isinstance()和issubclass()函數242
7.3.7綜合示例: 員工管理系統243
7.4變量的訪問控制244
7.4.1訪問控制的基本概念244
7.4.2Python中的訪問控制約定245
7.4.3Property裝飾器247
7.4.4訪問控制的最佳實踐248
7.4.5封裝的實際應用250
7.4.6綜合示例: 圖書管理類251
7.5類的特殊方法252
7.5.1特殊方法的概念252
7.5.2對象創建和銷毀相關方法253
7.5.3字符串表示相關方法254
7.5.4比較運算相關方法255
7.5.5算術運算相關方法255
7.5.6容器類型相關方法256
7.5.7綜合示例: 銀行賬戶類257
7.6本章小結258
7.7習題259
第8章GUI應用開發260
8.1Tkinter基礎與窗口組件261
8.1.1Tkinter概述261
8.1.2主窗口的創建與配置261
8.1.3常用基礎組件262
8.1.4組件布局管理267
8.1.5綜合應用案例271
8.2常用控件與事件處理273
8.2.1文本組件273
8.2.2選擇組件276
8.2.3事件綁定機制281
8.2.4回調函數的編寫283
8.3高級組件與對話框287
8.3.1菜單組件287
8.3.2框架組件291
8.3.3標準對話框294
8.3.4Canvas畫布基礎297
8.4綜合案例開發300
8.4.1系統需求分析300
8.4.2系統實現301
8.4.3系統功能說明309
8.5本章小結310
8.6習題311
第9章數據庫編程312
9.1數據庫基礎與SQLite簡介313
9.1.1什麼是數據庫與數據庫管理系統313
9.1.2關系數據庫基本概念314
9.1.3SQL語言簡介316
9.1.4為什麼選擇SQLite318
9.1.5SQLite的基本使用319
9.2Python的數據庫接口與sqlite3模塊321
9.2.1Python DBAPI簡介321
9.2.2sqlite3模塊的主要函數和方法322
9.2.3創建數據庫與表的示例325
9.2.4插入、查詢、更新、刪除操作的基本流程327
9.2.5綜合示例: 創建學生信息表並插入數據329
9.3查詢與結果處理331
9.3.1fetchone()和fetchall()的使用331
9.3.2遍歷查詢結果334
9.3.3使用參數化查詢防止SQL註入336
9.3.4綜合示例: 按條件查詢學生成績339
9.4本章小結342
9.5習題343







