Python程序設計:基礎與實踐

殷錫亮 劉陽 張勝揚

  • 出版商: 人民郵電
  • 出版日期: 2024-09-01
  • 定價: $539
  • 售價: 8.5$458
  • 語言: 簡體中文
  • 頁數: 301
  • 裝訂: 平裝
  • ISBN: 7115625042
  • ISBN-13: 9787115625045
  • 相關分類: Python程式語言Web-crawler 網路爬蟲
  • 下單後立即進貨 (約2週~3週)

  • Python程序設計:基礎與實踐-preview-1
  • Python程序設計:基礎與實踐-preview-2
Python程序設計:基礎與實踐-preview-1

商品描述

Python 是一種面向對象的解釋型高級編程語言,是當前流行的編程語言之一。本書系統性地介紹Python 的基礎知識及利用 Python 進行項目開發的實踐。全書分兩部分,第一部分介紹 Python 的基礎語法、Python 自帶的兩個模塊及其使用方法,以及 Python 的矩陣計算包 NumPy 的使用方法等,在介紹基礎語法的同時強調利用 Python 進行編程時需要註意的編程規範;第二部分聚焦科學研究和工程實踐中比較前沿的方向,涵蓋繪圖、圖像處理、優化計算、游戲開發、基於 Web 的系統開發、爬蟲、機器學習等方面的項目實踐,側重點是利用 Python 實現項目需求。

作者簡介

殷錫亮,副教授,工學博士,中國人工智能學會會員。參與黑龍江省自然科學基金項目一項,發表3篇SCI、2篇EI檢索論文,獲得國家發明專利三項。擁有6年通信行業上市企業研發經驗和8年高校信息通信技術類專業教學經驗。研究領域包括機器視覺、室內定位、人工智能等。

 

劉陽,數據庫系統工程師,副教授,工程碩士。2006至今,就職於哈爾濱職業技術學院,主要講授數據庫管理及維護、Web綜合實戰、Python、動態語言編程等課程,擅長網站開發和建設,曾擔任第46屆世界技能大賽黑龍江省選拔賽“網站設計與開發”項目命題專家及裁判(2020年),第45屆世界技能大賽黑龍江省選拔賽“網站設計與開發”裁判(2018年),第七屆黑龍江省殘疾人技能大賽網頁製作賽項裁判(2018年)。

 

張勝揚,高級講師,就職於北京中軟國際教育科技股份有限公司,曾講授西北工業大學“Python網絡爬蟲認知實訓”課程,東北農業大學“人工智能實訓”課程,北京聯通軟件研究院“Python基礎及數據採集”課程企業培訓,中國移動“機器學習算法”授課企業培訓,中海航“基於Django的微服務架構”課程。研究方向包括大數據採集及數據分析、高等數學數據分析、機器學習數據分析、網站架構、圖像識別等。

目錄大綱

第 一部分 Python 基礎

第 1 章 Python 集成開發環境介紹 3

1.1 Python IDLE Shell 3

1.2 PyCharm 集成開發環境 4

第 2 章 通過 IDLE 學習基本的 Python操作 6

2.1 使用 Python IDLE 與電腦對話 6

2.2 電腦語言的精華:算法 7

2.3 計算器:數和計算表達式 8

2.4 變量:程序的最小單元 10

2.5 語句:程序的基本單元 11

2.6 獲取用戶輸入:人工智能程序的眼睛 11

2.7 函數:功能 12

2.8 模塊:倉庫 13

2.9 字符串處理 14

2.10 Python 的可執行程序 19

2.11 Python 的程序註釋 21

2.12 運行 Python 程序 22

2.13 小結 23

第3章 操作 Python 數據容器——序列和字典 25

3.1 序列 25

3.2 字典 34

3.3 小結 40

第 4 章 使用字符串 42

4.1 不可變的字符串 42

4.2 像 C 語言一樣設置字符串的格式 42

4.3 模板法 43

4.4 format 方法 43

4.5 字符串方法 45

4.6 小結 47

第 5 章 語句 48

5.1 賦值語句 48

5.2 條件語句 50

5.3 循環語句 53

5.3.1 while 循環 54

5.3.2 for 循環 55

5.3.3 迭代字典 56

5.3.4 使用 break 語句、continue 語句跳出循環 56

5.3.5 循環後的 else 子句 57

5.3.6 循環嵌套 58

5.4 其他語句 58

5.4.1 pass 語句 58

5.4.2 del 語句 59

5.4.3 exec 語句(Python 2) 60

5.4.4 def 語句與 return 語句 61

5.5 小結 61

第 6 章 函數 63

6.1 復用性與邏輯性 63

6.2 自定義函數 63

6.3 函數的參數 66

6.4 作用域 68

6.5 函數的遞歸 69

6.6 小結 69

第 7 章 面向對象編程 70

7.1 對象 70

7.2 類 71

7.2.1 創建自定義類 71

7.2.2 類的名字空間 71

7.2.3 超類和繼承 72

7.2.4 封裝 73

7.3 小結 73

第 8 章 異常 75

8.1 異常定義 75

8.2 異常處理 75

8.2.1 raise 語句 75

8.2.2 自定義異常類 76

8.2.3 try-except 語句 76

8.2.4 finally 語句 78

8.3 if-else 語句與 try-except 語句的比較 79

8.4 告警 79

8.5 小結 80

第 9 章 特殊方法、特性、迭代器和生成器 81

9.1 構造函數 81

9.2 特性 82

9.2.1 property 關鍵字與 property函數 82

9.2.2 靜態方法與類方法 84

9.2.3 __getattribute__、__getattr__、__setattr__、__dict__、__delattr__方法 86

9.3 迭代器 88

9.4 生成器 90

9.4.1 創建生成器 90

9.4.2 遞歸生成器 91

9.4.3 生成器的方法 92

9.5 小結 94

第 10 章 模塊 96

10.1 模塊的概念 96

10.2 模塊中的定義 99

10.3 常用的標準庫中的模塊 101

10.3.1 time 101

10.3.2 random 103

10.3.3 sys 106

10.3.4 os 108

10.3.5 其他模塊 113

10.4 小結 114

第 11 章 文件操作 115

11.1 打開文件 115

11.2 文件的基本操作 116

11.3 使用 fileinput 模塊迭代文件 118

11.4 文件上下文管理器 120

11.5 小結 121

第 12 章 數據庫操作 122

12.1 數據庫的 Python 接口 122

12.2 對 SQLite 數據庫的基本操作 123

12.2.1 創建數據庫連接和關閉數據庫連接 123

12.2.2 執行 SQL 語句 124

12.2.3 sqlite3 備份 129

12.3 小結 131

第 13 章 基於 NumPy 的線性代數 運算 132

13.1 下載並安裝 NumPy 132

13.2 基礎概念 133

13.2.1 數組的屬性 133

13.2.2 生成 NumPy 數組 134

13.2.3 輸出數組 136

13.2.4 數組基本運算 137

13.2.5 通用函數 138

13.2.6 索引、切片和迭代 138

13.3 數組變換 140

13.3.1 改變量組的形狀 140

13.3.2 數組間的堆疊 141

13.3.3 數組切割 142

13.4 矩陣運算 142

13.5 小結 144

第二部分 Python 項目實踐

第 14 章 使用 Matplotlib 繪圖 147

14.1 下載並安裝 Matplotlib、

SciPy 147

14.2 繪制簡單 2D 圖像 148

14.3 繪制復雜 2D 圖像 155

14.4 繪制 3D 圖像 159

14.5 小結 160

第 15 章 使用 OpenCV 處理圖像——圖像特徵提取及匹配 161

15.1 下載並安裝 opencv-python、opencv-contrib-python 和pyflann 161

15.2 圖像特徵提取 162

15.3 圖像特徵匹配 164

15.4 小結 169

第 16 章 使用 cvxpy 和 cvxopt 求解凸優化問題 170

16.1 下載並安裝 cvxpy 和 cvxopt 170

16.2 求解線性規劃問題 171

16.3 求解 L1 範數逼近問題 174

16.4 求解二次規劃問題 175

16.5 小結 177

第 17 章 使用 Pygame 實現外星人入侵游戲 178

17.1 下載並安裝 Pygame 178

17.2 Pygame 的使用方法 180

17.3 外星人入侵游戲項目設計與開發 200

17.3.1 游戲的初始設置 200

17.3.2 創建玩家飛船類 Ship 201

17.3.3 創建子彈類 Bullet 202

17.3.4 創建外星人飛船類 Alien 203

17.3.5 創建游戲統計信息類GameStates 204

17.3.6 創建按鈕類 Button 204

17.3.7 創建游戲功能函數 205

17.3.8 創建游戲入口 209

17.4 小結 210

第 18 章 使用 Django 框架快速創建用戶信息管理系統 211

18.1 Django 框架簡介與環境部署 211

18.2 Django 框架的基本使用方法 212

18.2.1 創建一個 Django 項目 212

18.2.2 Django 框架的基本配置 212

18.2.3 創建 Django 應用 215

18.2.4 定義視圖 215

18.3 基於 Django 和 MySQL 創建一個用戶信息管理系統 216

18.3.1 創建數據庫和數據表 216

18.3.2 創建項目和應用 216

18.3.3 添加 demo 項目的數據庫連接配置和基本配置 217

18.3.4 定義模型 218

18.3.5 實現 Web 端訪問 219

18.3.6 編輯模板文件 220

18.3.7 設置視圖 223

18.3.8 測試 224

18.4 小結 226

第 19 章 網絡爬蟲基礎 227

19.1 網絡爬蟲技術基礎 227

19.2 爬蟲環境搭建 228

19.3 源碼採集 230

19.3.1 使用 urllib 採集源碼 230

19.3.2 使用 Requests 採集源碼 232

19.3.3 使用 Selenium 採集源碼 233

19.4 數據解析 234

19.4.1 使用 bs4 解析數據 234

19.4.2 使用 lxml 解析數據 238

19.5 小結 239

第 20 章 天氣預測 241

20.1 下載並安裝 sklearn 241

20.2 天氣預測問題 243

20.3 回歸模型 244

20.3.1 線性回歸 244

20.3.2 決策樹回歸 251

20.3.3 隨機森林回歸 255

20.3.4 神經網絡回歸 257

20.4 小結 260

第 21 章 紅酒產地分類 261

21.1 數據集 261

21.2 分類器評價指標 263

21.3 分類器 265

21.3.1 支持向量機 265

21.3.2 最近鄰 268

21.3.3 樸素貝葉斯 271

21.3.4 投票分類器 273

21.4 小結 275

第 22 章 銀行客戶分析 276

22.1 數據集 276

22.2 聚類模型評估指標 278

22.2.1 蘭德指數 278

22.2.2 互信息評分 279

22.2.3 同質性、完整性及 V 測度 280

22.2.4 FM 指數 281

22.2.5 輪廓系數 281

22.2.6 CH 指數 282

22.2.7 DB 指數 282

22.3 聚類模型 282

22.3.1 K 均值聚類 282

22.3.2 DBSCAN 聚類 287

22.3.3 譜聚類 289

22.3.4 層次聚類 290

22.4 小結 293

附錄 1 部分X11/CSS4 顏色代碼目錄 294

附錄 2 互信息評分計算示例 296

附錄 3 同質性、完整性及 V 測度數值計算示例 298

參考資料 300