Python語言與電子信息工程實踐

劉全金

商品描述

本書由“Python程序設計基礎”和“電子信息編程實踐”兩部分組成,旨在幫助讀者低門檻學習Python程序設計,掌握電子信息課程中應用的編程方法。全書共11章,內容包括Python安裝與環境搭建、Python語法基礎、數據結構、函數、面向對象、Python繪圖、正則表達式、數值計算,以及Python在電工電子、數字信號處理、圖像處理方面的編程實踐。本書可作為大學生和研究生學習Python的入門教材,也可作為高等學校電子信息類專業實踐課程的參考書,還可作為工程技術人員的Python編程手冊。

目錄大綱

第1章 Python安裝與環境搭建 1
1.1 Python語言特點 1
1.2 Python安裝 2
1.2.1 下載和安裝 2
1.2.2 配置環境變量 3
1.2.3 Python文件組成 4
1.2.4 運行Python 4
1.2.5 Python內置模塊、標準模塊庫
和第三方模塊庫 4
1.3 集成開發環境 5
1.3.1 IDLE 6
1.3.2 Anaconda 6
1.3.3 PyCharm 6
1.4 Python第三方庫 9
1.4.1 電子信息工程常用的
第三方庫 9
1.4.2 pip管理第三方庫 9
1.4.3 Conda管理第三方庫 11
1.4.4 PyCharm集成開發環境中管理
第三方庫 14
*1.5 虛擬環境和解釋器 14
1.5.1 虛擬環境的文件組成 15
1.5.2 Python管理虛擬環境 16
1.5.3 Conda管理虛擬環境 18
1.5.4 PyCharm虛擬環境創建和
設置 24
1.6 Python與Anaconda比較 26
*1.7 圖像分割軟件MedSAM及虛擬
環境配置 26
1.8 編程練習 27
第2章 Python語法基礎 28
2.1 語法基礎 28
2.1.1 標識符 28
2.1.2 關鍵字和內置函數 28
2.1.3 常量和變量 29
2.1.4 語句及書寫 29
2.1.5 模塊 31
2.1.6 包 35
2.2 數據類型 37
2.2.1 數值類型 37
2.2.2 布爾型 38
2.2.3 數據類型轉換 38
2.3 運算符 39
2.3.1 算術運算符 39
2.3.2 賦值運算符 40
2.3.3 關系運算符 43
2.3.4 邏輯運算符 44
2.3.5 運算符的優先級 45
2.4 程序結構 45
2.4.1 選擇結構 45
2.4.2 循環結構 52
2.5 編程練習 56
第3章 數據結構 57
3.1 字符串初步 57
3.1.1 普通字符串 57
3.1.2 帶轉義字符的普通字符串 57
3.1.3 長字符串 59
3.1.4 原始字符串 59
3.2 序列 59
3.2.1 索引 60
3.2.2 切片 60

3.2.3 序列拼接 61
3.2.4 序列乘法 61
3.2.5 序列成員檢測 61
3.2.6 序列長度、最大值、最小值 62
3.3 字符串高級操作 62
3.3.1 字符串格式化 62
3.3.2 字符串方法 64
3.3.3 字符串連接與分割 66
3.3.4 字符串與數據轉換 67
3.3.5 f字符串 67
3.4 元組 69
3.4.1 創建元組 69
3.4.2 元組序列標準操作 71
3.4.3 元組拆分 71
3.4.4 元組元素的遍歷 72
*3.4.5 元組推導式 72
3.5 列表 73
3.5.1 創建列表 73
3.5.2 列表序列標準操作 74
3.5.3 列表賦值 74
3.5.4 列表方法 77
3.5.5 列表元素的遍歷 83
*3.5.6 列表復制 83
3.5.7 列表推導式 88
3.6 集合 88
3.6.1 創建可變集合 89
3.6.2 集合長度、最大值、最小值 89
3.6.3 可變集合 90
3.6.4 不可變集合 90
3.6.5 集合的交集、並集和差集 90
3.6.6 集合元素的遍歷 91
*3.6.7 集合推導式 91
3.7 字典 92
3.7.1 創建字典 92
3.7.2 字典訪問和遍歷 94
*3.7.3 字典賦值、淺復制和深度
復制 96
3.7.4 字典元素刪除 96
3.7.5 字典元素替換 96
3.7.6 字典推導式 97
3.8 數組 98
3.8.1 創建數組對象 98
3.8.2 訪問和改變數組結構 102
3.8.3 訪問數組元素 103
3.8.4 數組運算 104
3.9 習題 107
第4章 函數 109
4.1 內置函數 109
4.1.1 eval函數 110
4.1.2 max、min和sum函數 111
4.1.3 dir和help函數 111
4.2 函數定義和調用 111
4.2.1 函數定義 111
4.2.2 函數調用 114
4.3 函數參數傳遞 115
4.3.1 實參及實參傳遞 115
4.3.2 形參及實參接收 118
4.3.3 函數參數傳遞步驟 122
4.4 面向函數編程 124
4.4.1 變量的作用域 124
4.4.2 嵌套函數 126
4.4.3 遞歸函數 126
4.5 函數式編程 127
4.5.1 函數式編程的概念及特點 127
4.5.2 lambda函數 128
4.5.3 高階函數 130
4.6 編程練習 132
第5章 面向對象編程 133
5.1 類和對象概述 133
5.1.1 面向對象的基本概念 133
5.1.2 面向對象的基本特征 134
5.1.3 類和對象 134
5.2 封裝性 141
5.2.1 私有變量 141
5.2.2 定義屬性 143
5.2.3 私有方法 143
5.3 繼承性 144
5.3.1 繼承概念 144
5.3.2 定義子類 146
5.3.3 子類構造方法 146
5.3.4 子類重寫實例方法 147
5.3.5 多重繼承 148
5.4 多態性 149
5.4.1 多態概念 149
5.4.2 類方法的多態性 149
5.5 模塊創建與測試 150
5.5.1 模塊創建和測試代碼 150
5.5.2 添加模塊搜索文件夾 151
5.6 編程練習 152
第6章 Python繪圖 153
6.1 圖形對象 153
6.1.1 matplotlib模塊庫 153
6.1.2 圖形對象 153
6.1.3 圖形窗口 154
6.1.4 子圖 157
6.2 二維繪圖 168
6.2.1 直角坐標繪圖 168
6.2.2 對數坐標繪圖 182
6.2.3 極坐標繪圖 183
6.3 三維繪圖 184
6.3.1 創建三維圖形子圖 184
6.3.2 繪制三維曲線 184
6.3.3 生成二維網格數據 186
6.3.4 繪制三維網格圖 188
6.3.5 繪制三維曲面 189
6.3.6 圖形視角 190
6.3.7 繪制三維條狀圖 191
6.3.8 繪制三維條形圖 191
6.3.9 繪制三維等高線圖 192
6.4 動態圖 193
6.4.1 繪制動態圖 193
6.4.2 生成FuncAnimation動態圖
對象 194
6.5 編程練習 196
第7章 正則表達式 198
7.1 正則表達式字符 198
7.1.1 普通字符 198
7.1.2 元字符 198
7.1.3 字符轉義 199
7.1.4 原始字符串定義正則表達式 199
7.1.5 開始符號和結束符號 200
7.1.6 正則表達式的查找函數及
匹配對象 200
7.2 字符類 201
7.2.1 定義字符類 201
7.2.2 字符類取反 202
7.2.3 字符類區間 203
7.2.4 預定義字符類 203
7.3 量詞 204
7.3.1 量詞及其功能 204
7.3.2 量詞的貪婪或懶惰設置 205
7.4 分組 206
7.4.1 分組設置 206
7.4.2 分組命名 207
7.4.3 分組引用 207
7.4.4 非捕獲分組 209
7.5 re模塊應用 210
7.5.1 Match對象 210
7.5.2 字符串匹配與查找 211
7.5.3 字符串分割 212
7.5.4 字符串替換 213
7.6 正則表達式編譯 214
7.6.1 正則表達式對象方法 214
7.6.2 正則表達式編譯標誌 215
7.7 編程練習 218
第8章 數值計算 219
8.1 數值運算 219
8.1.1 差分 219
8.1.2 數值積分 220
8.1.3 卷積 223
8.2 線性代數運算 225
8.2.1 行列式計算 225
8.2.2 向量點積運算 225
8.2.3 矩陣運算 226
8.2.4 矩陣特征值和特征向量 228
8.2.5 矩陣奇異值分解 229
8.2.6 線性方程組求解 230
8.2.7 最小二乘法 231
8.2.8 線性規劃 233
8.3 非線性問題 234
8.3.1 多項式 234
8.3.2 數據插值 240
8.3.3 非線性方程(組)求解 242
*8.3.4 無約束極小值求解和有約束
極小值求解 245
8.4 實踐練習 245
第9章 電工電子 247
9.1 Python在電工技術中的應用 247
9.1.1 節點電壓法 247
9.1.2 一階動態電路分析 248
9.1.3 交流動態電路分析 250
9.2 晶體管放大電路 257
9.2.1 半導體二極管的直流電路
分析 257
9.2.2 放大器電路分析 258
9.3 電力電機 263
9.3.1 電力電子 263
9.3.2 電機 265
9.4 實踐練習 267
第10章 數字信號處理 268
10.1 模擬信號抽樣 268
10.2 信號濾波 270
10.2.1 設計巴特沃斯濾波器 270
10.2.2 信號濾波函數 271
10.3 相關函數 273
10.3.1 自相關函數 274
10.3.2 互相關函數 274
10.4 信號頻域分析 275
10.4.1 FFT 276
10.4.2 FFT頻譜搬移和頻率軸
表示 276
10.4.3 FFT反變換 277
10.5 信號功率譜分析 278
10.6 離散余弦變換 280
10.7 音頻信號分析 281
10.7.1 音頻信號時頻分析 281

10.7.2 語音信號MFCC特征提取 282
10.7.3 Librosa庫 282
10.8 實踐練習 285
第11章 圖像處理 286
11.1 圖像處理概述 286
11.1.1 圖像的基本概念 286
11.1.2 圖像處理及其應用 286
11.2 圖像讀取 287
11.2.1 PIL讀取圖像 287
11.2.2 matplotlib讀取圖像 287
11.2.3 OpenCV讀取圖像 287
11.2.4 Scikit-image讀取圖像 288
11.3 圖像顯示和保存 288
11.3.1 PIL顯示和保存圖像 288
11.3.2 matplotlib顯示和保存
圖像 289
11.3.3 OpenCV顯示和保存圖像 290
11.3.4 Scikit-image顯示和保存
圖像 290
11.4 圖像通道拆分和合並 291
11.4.1 PIL通道數據的拆分和
合並 291
11.4.2 OpenCV通道數據的拆分
和合並 292
11.5 圖像幾何變換 293
11.5.1 圖像縮放 293
11.5.2 圖像仿射變換 294
11.5.3 圖像平移 294
11.5.4 圖像旋轉 295
11.5.5 點映射變換圖像 296
11.6 邊緣檢測 297
11.6.1 圖像濾波的OpenCV的
方法 297
11.6.2 Prewitt算子 298
11.6.3 Sobel算子 300
11.6.4 Canny邊緣檢測算法 301
11.7 實踐練習 303
參考文獻 304