●章Python,那些不得不知道的兒1
1.1編程語言的發展2
1.2Python的起源3
1.3你問我答了解Python3
1.3.1編程語言那麼多,為什麼選擇Python3
1.3.2Python解釋器的發行版本5
1.3.3Python的應用6
1.3.4正視Python的不足6
1.3.5如何學好Python6
1.4Python解釋器的安裝7
1.4.1PythonforWindows7
1.4.2PythonforLinux12
1.4.3PythonforMacOS18
1.4.4讓人愛不釋手的pip20
1.5工欲善其事,必先利其器——Python IDE的選擇與安裝21
1.5.1PyCharm的與安裝22
1.5.2PyCharm的使用27
1.6習題28
第2章Python基礎29
2.1helloworld30
2.1.1文本式編程30
2.1.2命令行交互式編程31
2.2PEP8代碼風格指南32
2.2.1注釋32
2.2.2縮進33
2.2.3單引號與雙引號33
2.2.4邏輯行與物理行33
2.3變量與內存管理34
2.3.1變量賦值34
2.3.2內存管理36
2.4print and input38
2.5運算符與表達式39
2.5.1算數運算符40
2.5.2比較運算符40
2.5.3賦值運算符41
2.5.4邏輯運算符42
2.5.5成員運算符43
2.5.6身份運算符43
2.5.7位運算符44
2.5.8運算符的優先級44
2.6流程控制語句45
2.6.1條件語句46
2.6.2循環之while循環49
2.6.3循環之for循環50
2.6.4break語句51
2.6.5continue語句51
2.6.6pass語句52
2.7習題52
第3章數據類型54
3.1Python基礎數據類型55
3.1.1整型55
3.1.2浮點型56
3.1.3布爾型58
3.1.4復數62
3.2字符串62
3.2.1字符串的創建63
3.2.2常用字符串方法64
3.2.3字符串類型與類型的轉換75
3.2.4最後,善用help76
3.3容易走火入魔的字符編碼77
3.3.1字符編碼的發展77
3.3.2字符編碼之Python79
3.4列表82
3.4.1列表的基本操作83
3.4.2列表的常用方法86
3.4.3列表的嵌套90
組91
3.組的基本操作91
3.組的嵌套95
3.6字典97
3.6.1字典的基本操作98
3.6.2字典的其他操作100
3.6.3字典的嵌套107
3.7集合108
3.7.1集合的常用操作和方法108
3.7.2集合的運算110
3.7.3集合的嵌套114
3.8推導表達式與深、淺拷貝115
3.8.1一行代碼解決的事情115
3.8表達式117
3.8.3深、淺拷貝那些事117
3.9習題120
第4章函數123
4.1函數基礎124
4.1.1函數的定義與調用124
4.1.2函數的返回值126
4.1.3函數的參數127
4.1.4函數對像131
4.1.5命名空間與作用域133
4.1.6嵌套函數與嵌套作用域136
4.1.7閉包函數140
4.2裝飾器142
4.2.1開放封閉原則144
4.2.2無參裝飾器145
4.2.3有參裝飾器146
4.2.4多裝飾器149
4.3迭代器153
4.3.1一個Shift鍵引發的“血案”153
4.3.2迭代器協議版本差異157
4.3.3for循環的本質160
4.4生成器161
4.4.1生成器函數161
4.4.2生成器表達式VS列表解析式163
4.5遞歸與面向過程編程164
4.5.1遞歸164
4.5.2面向過程編程166
4.6內置函數168
4.6.1讓人又愛又恨的lambda168
4.6.2映射函數:map170
4.6.3拉鏈函數:zip171
4.6.4過濾函數:filter173
4.6.5累積函數:reduce174
4.6.6偏函數:partial175
4.6.7其他內置函數177
4.7文件操作183
4.7.1打開文件183
4.7.2文件常用方法184
4.7.3手動擋關閉文件186
4.7.4自動擋關閉文件186
4.7.5f是什麼187
4.8習題188
第5章模塊190
5.1初識模塊191
5.2常用模塊191
5.2.1time191
5.2.2collections197
5.2.3functools204
5.2.4random207
5.2.5序列化模塊208
5.2.6re213
5.2.7os216
5.3模塊探索221
5.4模塊與包231
5.5習題235
第6章面向對像237
楔子:少年,你對蓋倫一無所知238
6.1類與對像240
6.1.1類的創建240
6.1.2實例化241
6.2繼承246
6.2.1命名空間246
6.2.2單繼承248
6.2.3多繼承253
6.2.4接口類254
6.2.5抽像類257
6.2.6新式類與經典類258
6.2.7C3算法260
6.2.8issubclass和isinstance268
6.3組合269
6.4封裝270
6.5多態274
6.6裝飾器函數277
6.6.1@property277
6.6.2@classmethod281
6.6.3@staticmethod282
6.7反射283
6.7.1什麼是反射283
6.7.2反射的應用286
6.8函數VS方法289
6.9類中的內置方法290
6.9.1對像的“誕生”與“死亡”290
6.9.2__len__293
6.9.3__eq__293
6.9.4字符串格式化三劍客294
6.9.5item繫列298
6.9.6__call__301
6.9.7__hash__301
6.10習題302
第7章學以致用——學生選課繫統303
7.1功能概述304
7.2需求分析304
7.2.1角色設計304
7.2.2功能設計304
7.2.3流程設計304
7.2.4程序設計305
7.2.5流程圖306
7.2.6數據庫設計306
7.3搭建框架306
7.3.1根據角色信息創建類307
7.3.2完善角色信息307
7.3.3設計程序的入口308
7.3.4實現入口函數最重要的功能311
7.3.5優化框架314
7.4細節實現321
7.4.1管理員之創建課程信息321
7.4.2管理員之查看課程信息322
7.4.3管理員之創建學生信息324
7.4.4管理員之查看學生信息327
7.4.5管理員之退出程序328
7.4.6問題:“你,還是你嗎?”329
7.4.7學生之查看可選課程334
7.4.8學生之選擇課程335
7.4.9學生之查看可選課程338
7.4.10管理員之查看學生選課信息339
7.4.11學生之退出341
7.5繫統優化342
7.5.1查看課程信息功能優化346
7.5.2退出功能優化348
7.5.3文件路徑的優化348
7.5.4文件操作優化349
7.5.5交互體驗的優化350
7.5.6優化後的代碼示例352
7.6總結358
內容簡介
本書共7章,從編程語言介紹到面向對像再到很後的綜合練習,由淺入深展開。主要內容包括:Python發展歷史與編程環境搭建、Python編程基礎知識、Python基礎數據類型、函數、模塊、面向對像編程、綜合案例——學生選課繫統。為提升學習效果,書中結合實際應用提供了大量的案例進行說明和訓練,並配以完善的學習資料和支持服務,包括教學PPT、教學大綱、源碼、教學視頻、配套軟件等,為讀者帶來多方面的學習體驗。