給所有人的Python(第4版)

柴田淳

  • 出版商: 北京航空航天大學
  • 出版日期: 2019-07-01
  • 定價: $414
  • 售價: 7.9$327
  • 貴賓價: 7.5$311
  • 語言: 簡體中文
  • 頁數: 331
  • 裝訂: 平裝
  • ISBN: 7512429894
  • ISBN-13: 9787512429895
  • 立即出貨

買這商品的人也買了...

商品描述

本書由淺入深地從軟件安裝環境到基礎語法與應用來講解面向對像腳本語言Python。
本書共13章,主要講解Python的語法以及Python的相關應用,*後還比較了Python 2與Python 3之間的差別,以供讀者參考。
本書既可作為Python開發入門者的自學用書,也可作為高等院校相關專業的教學參考書。

作者簡介

柴田淳

2000年初起開始運用Python進行軟件系統的委託開發,
參與大型網站和出版社的CRM、谷歌推廣網站的後台等的開發。
目前專注於公司服務系統的開發和運營。

目錄大綱

第1章程序設計語言Python 1
1.1 Python的魅力 1
1.1.1 Python很容易記憶 2
1.1.2 Python很容易使用 3
1.1.3 Python有廣闊的前景 4
1.2 Python(Anaconda)的下載和安裝… 6
1.2.1 什麼是Anaconda 6
1.2.2 必要的學習環境7
1.2.3 在Windows系統中安裝Anaconda 8
1.2.4 在macOS(OS X)系統中安裝Anaconda 9
1.2.5 在Linux系統中安裝Anaconda 10
1.2.6 已經安裝Python的情況11
1.2.7 安裝本家版Python 11
1.3 交互式腳本(對話型腳本) 13
1.3.1 在Windows系統中啟動交互式腳本13
1.3.2 在macOS、Linux系統中啟動交互式腳本14
1.3.3 輸入Python代碼15
1.3.4 關閉交互式腳本20
1.4 在文件中編寫Python程序20
1.4.1 使用Editor(編輯器)編寫程序21
1.4.2 保存Python程序21
1.4.3 在Windows系統中運行Python的腳本文件22
1.4.4 在macOS、Linux系統中執行Python的腳本文件23
1.4.5 推薦的編輯器和選擇方法24
1.5 使用Jupyter Notebook 26
1.5.1 在Windows、macOS系統中啟動內核28
1.5.2 在Linux系統中啟動內核28
1.5.3 使用主面板29
1.5.4 製作Notebook29
1.5.5 使用Notebook運行程序30
1.5.6 保存Notebook 32
1.5.7 結束Notebook 33
1.5.8 使用Jupyter Notebook的tmpnb 33
1.5.9 示例代碼的運行方法34

第2章用Python開始程序設計36
2.1 使用數值36
2.1.1 使用數值的四則運算37
2.1.2 四則運算和優先順序38
2.2 使用變量38
2.2.1 定義變量38
2.2.2 使用變量進行計算39
2.3 使用字符串41
2.3.1 定義字符串41
2.3.2 字符串的連接42
2.3.3 複合運算符43
2.3.4 統一類型的Python風格44
2.3.5 字符串與數值的轉換(類型轉換) 45
2.4 使用列表47
2.4.1 定義列表47
2.4.2 指定索引取出元素48
2.4.3 列表的連接50
2.4.4 元素的置換和刪除50
2.4.5 使用切片取出多個元素52
2.4.6 列表的列表二維數組53
2.4.7 列表的合計、最大值和最小值55
2.4.8 查看列表長度56
2.5 用for語句進行循環操作57
2.6 用if語句進行條件分支61
2.6.1 比較數值63
2.6.2 比較字符串63
2.6.3 檢索字符串64
2.6.4 比較列表64
2.6.5 檢索列表元素65
2.6.6 使用else語句65
2.7 使用函數69
2.7.1 什麼是函數69
2.7.2 調用函數70
2.7.3 函數的參數70
2.7.4 函數的返回值(1) 71
2.7.5 定義函數72
2.7.6 定義參數74
2.7.7 函數的返回值(2) 75
2.7.8 本地變量76
2.8 使用模塊79
2.8.1 導入模塊80
2.8.2 import語句的as 81
2.8.3 使用了from的導入81
2.8.4 模塊的查找方法82

第3章掌握Python的基礎83
3.1 使用字典83
3.1.1 什麼是字典83
3.1.2 使用鍵取出元素84
3.1.3 使用鍵替換元素85
3.1.4 添加新的鍵與值86
3.1.5 使用鍵刪除元素87
3.1.6 確認鍵的存在88
3.1.7 使用鍵的循環89
3.2 使用set(集合) 90
3.2.1 定義set 91
3.2.2 求set的並集91
3.2.3 求set的差集92
3.2.4 求set的交集92
3.2.5 求set的異或93
3.2.6 set與列表94
3.2.7 set與比較94
3.3 使用元組95
3.4 if語句的應用99
3.4.1 比較運算符99
3.4.2 比較運算符與True和False 99
3.4.3 關於比較的備忘錄100
3.4.4 複雜的比較邏輯運算100
3.5 循環的應用101
3.5.1 使用while語句製作循環101
3.5.2 使用了break語句和continue語句的循環控制103
3.5.3 循環的else 105
3.6 函數的應用105
3.6.1 對函數定義默認參數106
3.6.2 參數的關鍵字指定107
3.6.3 函數和本地變量108

第4章熟練使用內置類型111
4.1 作為對象的內置類型概述111
4.1.1 什麼是方法111
4.1.2 作為對象的內置類型113
4.1.3 內置的數據類型一覽114
4.1.4 數據類型的分類116
4.1.5 序列116
4.1.6 可更改和不可更改117
4.1.7 set類型和字典類型117
4.2 操作數值類型118
4.2.1 十六進制的表示方法118
4.2.2 二進制的表示方法119
4.2.3 八進制的表示方法120
4.2.4 位運算121
4.3 熟練使用字符串類型121
4.3.1 字符串的替換和刪除121
4.3.2 split()方法和join()方法122
4.3.3 轉義序列124
4.3.4 raw字符串126
4.3.5 字符串中可以使用的方法126
4.3.6 字符串的格式化128
4.4 熟練掌握列表類型和元組類型132
4.4.1 給列表排序132
4.4.2 自定義排列順序133
4.4.3 解包代入134
4.4.4 切片的步長數135
4.4.5 使用了切片元素的代入和刪除135
4.4.6 列表中可以使用的方法136
4.5 熟練使用set類型137
4.6 熟練掌握字典類型138
4.6.1 通過序列等製作字典138
4.6.2 將兩個字典進行組合139
4.6.3 巧妙處理字典的鍵139
4.6.4 靈活運用字典中的方法140
4.7 if語句和內置類型142
4.8 for語句和內置類型142
4.8.1 熟練使用range()函數142
4.8.2 序列和循環計數器143
4.8.3 使用兩個序列的循環144
4.9 函數和內置類型145
4.9.1 返回值和解包代入145
4.9.2 在函數中接收參數列表146
4.9.3 在函數中接收關鍵字參數147
4.10 Python的字符串和日語147
4.10.1 有關字符編碼的基礎知識147
4.10.2 Python和Unicode 150
4.10.3 字節類型150
4.10.4 字符串向字節類型轉換152
4.10.5 字節類型向字符串類型轉換153
4.10.6 腳本文件的編碼指定153
4.10.7 編碼的判斷154
4.10.8 編碼和亂碼154
4.10.9 多字節字符和字符的分界156
4.11 Python的文件處理156
4.11.1 文件和文件對象158
4.11.2 從文件中讀取160
4.11.3 寫入文件162
4.11.4 處理二進製文件162
4.11.5 文件名稱的處理163

第5章Python與函數式程序設計165
5.1 什麼是函數式程序設計165
5.1.1 Python的語句和表達式167
5.1.2 Lambda表達式167
5.2 解析式168
5.2.1 列表解析式169
5.2.2 列表解析式的詳細介紹169
5.2.3 在列表解析式中使用if 170
5.2.4 字典解析式171
5.2.5 set解析式172
5.3 使用迭代172
5.3.1 什麼是迭代172
5.3.2 迭代和延遲評價173
5.4 使用生成器175
5.4.1 定義生成器函數176
5.4.2 生成器表達式176
5.5 高階函數和裝飾器177
5.5.1 高階函數177
5.5.2 裝飾器179

第6章類與面向對像開發181
6.1 在Python中使用類181
6.1.1 對象和類181
6.1.2 由類製作對象(實例) 182
6.1.3 使用實例183
6.1.4 對象和實例183
6.2 製作類184
6.2.1 定義類185
6.2.2 實例的屬性185
6.2.3 方法的定義與初始化方法__init__() 187
6.2.4 方法與第一參數self 188
6.2.5 屬性的隱蔽性192

第7章類的繼承與高級面向對像功能194
7.1 繼承類194
7.1.1 指定超類195
7.1.2 方法的重寫195
7.1.3 初始化方法的重寫196
7.1.4 得到使用super()的超類197
7.1.5 插槽198
7.1.6 特徵199
7.2 使用特殊方法200
7.3 繼承內置類型206

第8章模塊209
8.1 創建模塊文件夾209
8.1.1 導入模塊時的操作210
8.1.2 僅在執行文件時執行的塊211
8.1.3 類與模塊212
8.2 模塊的層次(包) 213
8.2.1 包的本質213
8.2.2 創建包214
8.3 使用模塊時的注意事項214
8.3.1 使用from語句導入的弊端214
8.3.2 模塊的搜索順序214
8.4 使用第三方模塊215
8.4.1 模塊的搜尋方法215
8.4.2 使用pip安裝模塊216
8.4.3 使用conda安裝模塊217
8.4.4 模塊的種類217
8.4.5 手動安裝模塊218
8.4.6 模塊的設置場所和Python的版本218

第9章作用域與對象221
9.1 命名空間、作用域221
9.1.1 作用域的規則222
9.1.2 類、實例的作用域224
9.2 純粹面向對象語言Python 225
9.2.1 對象與屬性225
9.2.2 魔法函數dir()226
9.2.3 作為屬性的方法227
9.2.4 全部都是對象228
9.2.5 對象與類型228
9.2.6 對象與屬性230
9.2.7 類、模塊與屬性231
9.2.8 對象和變量231
9.2.9 對象與命名空間232

第10章異常處理234
10.1 Python的異常處理234
10.1.1 異常的發生234
10.1.2 捕獲異常235
10.1.3 with語句237
10.1.4 異常與追溯237
10.1.5 引發(raise)異常238
10.1.6 顯示追溯238
10.2 常見錯誤或異常與對策239
10.2.1 讀取程序時發生的錯誤(SyntaxError) 240
10.2.2 程序執行中發生的錯誤(Exception) 240

第11章 使用標準庫 243
11.1 標準庫的導入243
11.2 數據結構244
11.2.1 保持添加時順序的collections.OrderedDict 244
11.2.2 帶有默認值的字典collections.defaultdict 245
11.2.3 協助列表sort的bisect 246
11.3 處理日期數據的datetime、calendar 247
11.3.1 日期與時刻和字符串249
11.3.2 日期與時刻的運算和比較250
11.3.3 使用datetime.date類的方法 251
11.3.4 使用datetime.datetime類的方法 252
11.3.5 使用calendar模塊 252
11.4 正則表達式re 254
11.4.1 re模塊 254
11.4.2 Python的正則表達式 255
11.4.3 正則表達式的pattern字符串 255
11.4.4 使用正則表達式對象257
11.4.5 將模式傳遞給參數,進行正則表達式的處理 259
11.4.6 使用匹配對象260
11.4.7 正則表達式的示例261
11.5 獲取操作系統參數的sys 261
11.5.1 獲取命令行的參數261
11.5.2 程序的結束262
11.5.3 其他函數與變量262
11.6 獲得及操作文件、進程等依賴 OS信息的OS 262
11.6.1 獲取、操作與進程相關的信息 262
11.6.2 文件與目錄的操作263
11.6.3 進程管理265
11.6.4 在交換平台使用了路徑的操作266
11.7 使用數學函數mathrandom 267
11.7.1 math數學函數模塊 267
11.7.2 random生成隨機數 269
11.8 獲取因特網上數據的urllib 270
11.8.1 從 Web或FTP中獲取文件271
11.8.2 使用request.urlretrieve()函數的示例代碼 271
11.8.3 從 Web或FTP中讀取數據272
11.8.4 在urlopen()返回的對像中可以使用的方法 272
11.8.5 BASIC認證 273
11.8.6 用POST方式傳輸數據 274
11.8.7 其他函數275
11.9 創建字符串庫虛擬文件的io.StringIO 276
11.10 CSV(逗號分隔值)文件的操作 277
11.11 對象持久化與序列化shelvepickle 278
11.11.1 將字典持久化的shelve 279
11.11.2 執行對象持久化與序列化的pickle 280
11.12 處理JSON數據的json 282
11.12.1 將JSON轉換為Python的數據類型283
11.12.2 Python的數據類型轉換為JSON 283
11.12.3 json的使用示例 284

第12章 Python與數據科學 285
12.1 NumPy與 matplotlib 285
12.1.1 所謂的 NumPy與 matplotlib 285
12.1.2 使用NumPy 287
12.1.3 使用 matplotlib 290
12.2 使用NumPy 291
12.2.1 生成NumPy的array 291
12.2.2 使用數組的運算293
12.2.3 訪問元素295
12.2.4 數組的連接295
12.2.5 複製數組296
12.3 使用 matplotlib 296
12.3.1 使用plot()來繪製圖表297
12.3.2 控制plot()的繪製299
12.3.3 加入字符300
12.4 將日本的人口可視化300
12.4.1 讀取人口數據301
12.4.2 繪製人口金字塔303
12.4.3 將圖表繪製在交互式中304
12.4.4 推算未來人口數量306
12.5 Python與機器學習 310
12.5.1 用機器學習進行數值的預測311
12.5.2 機器學習的算法315
12.5.3 由姓名來判定性別316
12.5.4 機器學習、數據科學與Python 320
12.5.5 深度學習的登場和未來321

第13章 Python 2 323
13.1 Python 3與Python 2的不同點323
13.1.1 在Python 3中被削減掉的功能 324
13.1.2 在Python 2.7中可以使用的Python 3功能 324
13.1.3 在Python 3中改變了的功能 325
13.1.4 模塊的再配置、名稱變更 329
13.2 從Python 2到Python 3的遷移 330
13.3 結束語331