TOP
紅利積點抵現金,消費購書更貼心
寫給程序員的Python教程(簡體書)
滿額折

寫給程序員的Python教程(簡體書)

商品資訊

人民幣定價:79 元
定價
:NT$ 474 元
優惠價
87412
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點 :12 點
商品簡介
目次

商品簡介

Python語言具有免費開源、簡單易學、可移植性和解釋性強、可擴展可嵌入等優點,在國內外都得到了廣泛的應用。
本書基於Python 3的版本進行講解。本書共有11章,由淺入深地講解了Python的相關知識。本書從Python的安裝開始講起,對數據類型、函數、內置類型、集合類型、異常、生成器、文件和資源管理、單元測試等重要知識進行了系統化的講解。

目次

第 1章 入門 1

1.1 獲取並安裝Python 3 1

1.1.1 Windows 2

1.1.2 macOS 3

1.1.3 Linux 4

1.2 啟動Python命令行REPL 5

1.3 退出REPL 6

1.3.1 Windows 7

1.3.2 UNIX 7

1.4 代碼結構和縮進語法 7

1.5 Python文化 10

1.6 導入標準庫模塊 12

1.7 獲取幫助 12

1.7.1 使用math. facto- rial()進行水果計數 14

1.7.2 不同的數字類型 15

1.8 標量數據類型:整數、浮點數、None以及bool 16

1.8.1 int 16

1.8.2 float 18

1.8.3 None 19

1.8.4 bool 19

1.9 關係運算符 21

1.10 控制流:if語句和while循環 22

1.10.1 條件控制流:if語句 22

1.10.2 if…else語句 23

1.10.3 if…elif…else語句 23

1.10.4 有條件的重複:while語句 24

1.11 小結 27

第 2章 字符串與集合類型 29

2.1 str――不可變的Unicode碼位序列 29

2.2 禪之刻 31

2.2.1 相鄰字符串的拼接 31

2.2.2 多行字符串與換行 32

2.2.3 原始字符串 33

2.2.4 字符串也是序列 34

2.2.5 字符串方法 35

2.3 使用Unicode的字符串 37

2.4 bytes ――不可變的字節序列 37

2.4.1 字節字面量 38

2.4.2 bytes與str的相互轉換 38

2.5 list ――對象序列 41

2.6 dict類型――鍵關聯值 42

2.7 for循環――迭代 43

2.8 融會貫通 44

2.9 小結 47

第3章 模塊化 50

3.1 在一個.py文件中組織代碼 50

3.1.1 從操作系統shell運行Python程序 51

3.1.2 將模塊導入到REPL中 52

3.2 定義函數 53

3.3 將模塊組織成函數 54

3.4 Python執行模型 57

3.5 創建帶有命令行參數的主函數 58

3.6 禪之刻 63

3.7 docstrings 64

3.8 注釋 67

3.9 Shebang 67

3.9.1 Linux和Mac上可執行的Python程序 68

3.9.2 Windows上可執行的Python程序 68

3.10 小結 69

第4章 內置類型和對象模型 71

4.1 Python對象引用的本質 71

4.1.1 引用重賦值 72

4.1.2 將一個引用賦值給另一個引用 72

4.1.3 探索值並使用id()獲取標識 73

4.1.4 使用is測試標識的相等性 74

4.1.5 無改變的變動 74

4.1.6 引用可變對象 75

4.1.7 值相等(等值)與標識相等 76

4.2 參數傳遞語義――通過對象引用77

4.2.1 在函數中修改外部對象 77

4.2.2 在函數中綁定新對象 78

4.2.3 參數傳遞是引用綁定 79

4.3 Python的return語義 80

4.4 函數參數詳解 81

4.4.1 默認參數值 81

4.4.2 關鍵字參數 82

4.4.3 何時對默認參數進行求值 82

4.5 Python的類型系統 85

4.5.1 Python中的動態類型 85

4.5.2 Python中的強類型 86

4.6 變量聲明和作用域 86

4.7 作用域實戰 87

4.7.1 全域作用域和局部作用域中的標識名稱 88

4.7.2 global關鍵詞 89

4.8 禪之刻 90

4.9 一切皆對象 90

4.10 小結 92

第5章 探究內置集合類型 95

5.1 tuple――不可變的對象序列 96

5.1.1 元組字面量 96

5.1.2 訪問元組中的元素 96

5.1.3 元組的長度 96

5.1.4 迭代元組 96

5.1.5 連接與重複元組 97

5.1.6 單個元素的元組 97

5.1.7 空元組 98

5.1.8 可選的括號 98

5.1.9 返回與拆包元組 98

5.1.10 通過元組拆包交換變量 99

5.2 元組構造函數 99

5.3 字符串實戰 100

5.3.1 字符串的長度 100

5.3.2 連接字符串 101

5.3.3 拼接字符串 101

5.3.4 拆分字符串 102

5.4 禪之刻 102

5.4.1 分割字符串 103

5.4.2 字符串格式化 103

5.4.3 其他字符串方法 104

5.5 range――等間隔的整數集合 105

5.5.1 起始值 105

5.5.2 步長參數 106

5.5.3 不使用區間:enumerate() 107

5.6 列表實戰 108

5.6.1 列表的負數索引(其他序列同理) 108

5.6.2 列表切片 109

5.6.3 複製列表 112

5.6.4 淺複製 113

5.6.5 重複列表 117

5.6.6 使用index()查找列表元素 118

5.6.7 使用count()和in進行成員資格測試 119

5.6.8 使用del按照索引刪除列表元素 119

5.6.9 使用remove()按照值刪除列表元素 120

5.6.10 向列表中插入元素 120

5.6.11 連接列表 120

5.6.12 重排列表元素 121

5.6.13 異地重排 122

5.7 字典 123

5.7.1 複製字典 124

5.7.2 更新字典 125

5.7.3 迭代字典的鍵 125

5.7.4 迭代字典的值 126

5.7.5 迭代鍵值對 127

5.7.6 字典鍵的成員資格測試 127

5.7.7 刪除字典的項目 128

5.7.8 字典的可變性 128

5.7.9 美化輸出 129

5.8 集――包含唯一元素的無序集合 129

5.8.1 set構造函數 130

5.8.2 迭代集 131

5.8.3 集的成員資格測試 131

5.8.4 向集中添加元素 131

5.8.5 從集中刪除元素 132

5.8.6 複製集 133

5.8.7 集的代數運算 133

5.8.8 並集 134

5.8.9 補集 134

5.9 集合協議 136

5.9.1 容器協議 137

5.9.2 大小協議 137

5.9.3 可迭代協議 137

5.9.4 序列協議 137

5.9.5 其他協議 138

5.10 小結 138

第6章 異常 140

6.1 異常與控制流程 140

6.2 處理多異常 143

6.3 程序員的錯誤 145

6.4 空代碼塊――pass語句 146

6.5 異常對象 146

6.6 不明智的返回碼 147

6.7 重拋異常 148

6.8 異常是函數API的一部分 149

6.8.1 Python拋出的異常 150

6.8.2 捕獲異常 151

6.8.3 明確地拋出異常 152

6.9 守衛子句 153

6.10 異常、API以及協議 155

6.10.1 IndexError 155

6.10.2 ValueError 156

6.10.3 KeyError 156

6.11 不使用守衛子句處理TpyeError 156

6.12 Pythonic風格――EAFP與LBYL 157

6.13 清理操作 159

6.14 禪之刻 160

6.15 平臺特定的代碼 161

6.16 小結 162

第7章 推導、可迭代與生成器 164

7.1 推導 164

7.1.1 列表推導 165

7.1.2 集推導 166

7.1.3 字典推導 166

7.1.4 過濾推導 168

7.2 禪之刻 169

7.3 迭代協議 170

7.3.1 迭代協議實例 170

7.3.2 更好的迭代實例 171

7.4 生成器函數 172

7.4.1 yield關鍵字 172

7.4.2 生成器是迭代器 173

7.4.3 生成器代碼何時執行 174

7.4.4 管理生成器的顯式狀態 176

7.4.5 惰性與無限 178

7.5 生成器表達式 180

7.5.1 生成器對象只運行一次 180

7.5.2 低內存消耗的迭代器 181

7.5.3 可選的括號 181

7.5.4 在生成器表達式中使用if子句 181

7.6 內置的迭代工具 181

7.6.1 itertools簡介 182

7.6.2 布爾序列 183

7.6.3 使用zip合併序列 183

7.6.4 使用chain()進行序列惰性連接 185

7.7 融會貫通 185

7.8 小結 186

7.8.1 生成器 187

7.8.2 迭代工具 187

第8章 使用類定義新類型 188

8.1 定義類 189

8.2 實例方法 190

8.3 實例初始化方法 191

8.4 校驗與不變式 192

8.5 增加第二個類 194

8.6 協同類 196

8.7 禪之刻 197

8.8 定座位 197

8.9 以實現細節命名方法 204

8.9.1 實現relocate_ passenger() 206

8.9.2 計數可用座位 208

8.10 有時你可能只需要函數對象 208

8.11 多態與鴨子類型 211

8.12 繼承與實現共享 215

8.12.1 一個飛機基類 215

8.12.2 繼承Aircraft 216

8.12.3 將公共功能提升到基類中 217

8.13 小結 218

第9章 文件和資源管理 221

9.1 文件 221

9.1.1 二進制和文件模式 222

9.1.2 編碼的重要性 222

9.1.3 以寫入模式打開文件 223

9.1.4 寫入文件 224

9.1.5 關閉文件 225

9.1.6 Python之外的文件知識 225

9.1.7 讀取文件 226

9.1.8 向文件追加內容 228

9.1.9 文件對象作為迭代器 228

9.2 上下文管理器 230

9.2.1 使用finally管理資源 232

9.2.2 with代碼塊 233

9.3 禪之刻 234

9.4 二進制文件 235

9.4.1 BMP文件格式 235

9.4.2 位操作符 240

9.4.3 寫BMP文件 240

9.5 類文件對象 244

9.5.1 你已經見過類文件對象 244

9.5.2 使用類文件對象 244

9.6 其他資源 245

9.7 小結 248

第 10章 使用Python庫進行單元測試 250

10.1 測試用例 250

10.2 固件 251

10.3 斷言 251

10.4 單元測試示例:文本分析 251

10.4.1 運行初始化測試 253

10.4.2 讓測試通過 253

10.5 用固件創建臨時文件 254

10.6 使用新固件 255

10.7 使用斷言測試行為 256

10.7.1 計數行數 257

10.7.2 計數字符數 258

10.8 測試異常 260

10.9 測試文件存在性 261

10.10 禪之刻 262

10.11 小結 262

第 11章 使用PDB進行調試 264

11.1 調試命令 265

11.2 調試回文程序 266

11.2.1 使用PDB找Bug 268

11.2.2 使用抽樣找到無限循環 269

11.2.3 設置顯式的斷點 270

11.2.4 跳過執行 272

11.2.5 修復BUG 274

11.3 小結 275

附錄A 虛擬環境 277



附錄B 打包與分發 280



附錄C 安裝第三方包 288



後記――剛剛開始 292

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 412
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區