細說Python編程:從入門到科學計算

細說Python編程:從入門到科學計算

《細說Python編程:從入門到科學計算》是2023年7月1日清華大學出版社出版的圖書,作者:凌峰、韓曉泉。

基本介紹

  • 中文名:細說Python編程:從入門到科學計算
  • 作者:凌峰、韓曉泉
  • 出版時間:2023年7月1日
  • 出版社:清華大學出版社
  • ISBN:9787302637998
  • 定價:149 元
  • 印次:1-1
  • 印刷日期:2023.06.26
內容簡介,圖書目錄,

內容簡介

《細說Python編程:從入門到科學計算》以Python 3.x為平台,由兩位博士執筆,詳盡細緻地闡述Python編程的基礎知識和高級技巧,並以大量示例代碼進行實踐,同時還介紹人工智慧領域廣泛使用的科學計算工具NumPy。《細說Python編程:從入門到科學計算》分為兩篇,共19章。第1篇(第1~11章)為基礎知識,主要講解Python的編譯環境、入門知識、字元串、容器、函式、循環、條件選擇、模組、類、類的特殊成員、檔案;第2篇(第12~19章)為高級套用,包括異常處理、日期和時間、測試代碼、程式打包、使用資料庫、網路編程、圖形用戶界面、科學計算等內容。全書知識點豐富,輔之以示例演示,讀者可以邊學邊練,快速掌握。
《細說Python編程:從入門到科學計算》還提供了16小時共151節微課教學視頻,讀者掃碼即可觀看學習,免費提供的示例源碼檔案可直接調用,方便上機操練。
《細說Python編程:從入門到科學計算》深入淺出,內容新穎,涉及面廣,適合想要學習Python編程的各層次讀者。

圖書目錄

目 錄
第1篇 基礎知識
第 1 章 構建Python開發環境3
1.1 初識Python3
1.2 安裝Python4
1.2.1 在Windows環境下安裝5
1.2.2 在Linux環境下安裝7
1.2.3 在Mac環境下安裝7
1.3 Python IDE和Anaconda介紹7
1.3.1 Python IDE8
1.3.2 PyCharm10
1.3.3 Anaconda介紹15
1.4 認識Python程式15
1.4.1 命令行15
1.4.2 Python代碼行16
1.4.3 Python腳本17
1.4.4 縮進17
1.4.5 注釋19
1.5 小結19
第 2 章 開始你的Python編程20
2.1 Python的基本編碼規範20
2.2 關鍵字24
2.3 常量與變數24
2.4 標識符26
2.5 運算符27
2.5.1 算術運算符27
2.5.2 比較運算符28
2.5.3 邏輯運算符29
2.5.4 位運算符29
2.5.5 成員運算符30
2.5.6 身份運算符30
2.5.7 賦值運算符31
2.5.8 運算符優先權32
2.6 數據類型33
2.6.1 整數型33
2.6.2 浮點型35
2.6.3 複數型36
2.6.4 位元組型37
2.6.5 布爾型38
2.6.6 字元串型39
2.7 內置函式42
2.7.1 內置函式的概念42
2.7.2 幾個常用的內置函式43
2.8 小結46
第 3 章 字元串47
3.1 字元串的基本操作47
3.1.1 字元串索引和切片47
3.1.2 字元串是不可變的50
3.1.3 字元串拼接50
3.1.4 字元串長度52
3.1.5 字元串分割54
3.1.6 返回字元串中最大的字母和最小的字母55
3.1.7 字元串填充56
3.2 轉義字元57
3.3 字元串運算符59
3.4 字元串格式化60
3.5 字元串檢索與統計61
3.5.1 統計字元串出現的次數61
3.5.2 檢測字元串中是否包含某子串63
3.5.3 檢索字元串開頭和結尾65
3.6 字元串大小寫轉換66
3.6.1 大小寫全部轉換67
3.6.2 字元串頭部大小寫轉換68
3.6.3 大小寫反轉69
3.6.4 字元串替換69
3.7 刪除指定字元串70
3.8 字元串合併72
3.9 字元串對齊72
3.9.1 ljust()方法73
3.9.2 rjust()方法74
3.9.3 center()方法75
3.10 字元串編解碼76
3.10.1 字元串編碼76
3.10.2 字元串解碼77
3.11 小結78
第 4 章 容器79
4.1 列表79
4.1.1 列表的創建方法79
4.1.2 列表的基本操作81
4.1.3 列表方法84
4.1.4 創建數字列表89
4.2 元組90
4.2.1 元組的創建方法90
4.2.2 元組的訪問91
4.3 字典93
4.3.1 字典的套用93
4.3.2 創建字典93
4.3.3 字典的常見操作94
4.3.4 字元串用於字典96
4.3.5 字典方法96
4.3.6 使用字典時的注意事項104
4.4 集合105
4.4.1 集合的創建105
4.4.2 集合方法106
4.5 容器嵌套112
4.5.1 字典列表113
4.5.2 在字典中存儲列表113
4.6 小結113
第 5 章 函式114
5.1 函式的定義和調用114
5.1.1 函式的定義115
5.1.2 函式的調用116
5.1.3 提供說明文檔116
5.2 函式參數和返回值117
5.2.1 函式參數及其傳遞117
5.2.2 關鍵字參數119
5.2.3 位置參數119
5.2.4 默認參數121
5.2.5 不定長參數122
5.2.6 函式的返回值123
5.3 空值125
5.4 變數的作用域126
5.4.1 局部變數126
5.4.2 全局變數128
5.5 局部函式129
5.6 exec()函式和eval()函式132
5.7 函式的高級話題134
5.7.1 lambda匿名函式135
5.7.2 函式式編程136
5.7.3 閉包函式138
5.7.4 遞歸139
5.8 小結141
第 6 章 循環142
6.1 while循環142
6.1.1 while的用法142
6.1.2 while...else語句144
6.1.3 while嵌套144
6.2 for循環145
6.2.1 for的用法145
6.2.2 for...else語句147
6.2.3 for嵌套148
6.2.4 使用for循環遍歷字典150
6.3 break語句153
6.4 continue語句155
6.5 pass語句156
6.6 循環中的常用內置函式157
6.6.1 zip()函式157
6.6.2 reversed()函式158
6.6.3 sorted()函式160
6.7 小結162
第 7 章 條件選擇163
7.1 if語句詳解163
7.1.1 if語句164
7.1.2 if else語句164
7.1.3 if elif else166
7.2 條件測試167
7.2.1 是否相等167
7.2.2 是否不相等168
7.2.3 比較數字169
7.2.4 檢查多個條件169
7.2.5 檢查字典中的特定值170
7.3 if語句處理列表171
7.3.1 確定列表不是空的171
7.3.2 處理列表中的特殊元素171
7.3.3 多個列表172
7.4 條件語句和循環語句結合套用173
7.4.1 實現簡單的用戶登錄驗證程式173
7.4.2 列印空心等邊三角形173
7.4.3 列印空心菱形174
7.4.4 列印空心正方形175
7.5 小結176
第 8 章 模組、包和標準庫177
8.1 模組177
8.1.1 創建模組178
8.1.2 使用模組180
8.2 包182
8.2.1 創建包182
8.2.2 安裝包183
8.3 探索模組185
8.3.1 模組包含什麼185
8.3.2 使用help獲取幫助186
8.3.3 文檔187
8.3.4 使用原始碼188
8.4 標準庫188
8.4.1 os189
8.4.2 sys190
8.4.3 random191
8.4.4 re194
8.4.5 其他常用的標準模組200
8.5 小結201
第 9 章 類202
9.1 一切皆對象202
9.1.1 面向對象概述202
9.1.2 面向對象相關術語204
9.2 創建和使用類204
9.2.1 如何定義類204
9.2.2 __init__()類的構造方法206
9.2.3 類的實例化207
9.2.4 類對象的使用208
9.2.5 self用法詳解212
9.2.6 使用type()函式動態創建類214
9.2.7 MetaClass元類215
9.3 類屬性和實例屬性217
9.3.1 類變數(類屬性)217
9.3.2 實例變數(實例屬性)221
9.3.3 類的局部變數224
9.3.4 使用property()函式定義屬性224
9.3.5 限制類實例動態添加屬性和方法227
9.4 方法230
9.4.1 實例方法230
9.4.2 靜態方法231
9.4.3 類方法232
9.4.4 調用實例方法233
9.4.5 描述符233
9.4.6 @property裝飾器235
9.5 Python類命名空間237
9.6 封裝238
9.6.1 Python類的封裝239
9.6.2 封裝底層實現原理241
9.7 類的繼承242
9.7.1 單繼承243
9.7.2 多繼承244
9.7.3 子類繼承父類構造函式說明246
9.7.4 父類方法重寫248
9.7.5 super()使用注意事項250
9.8 多態及用法詳解252
9.9 接口254
9.10 抽象基類256
9.11 枚舉類的定義和使用258
9.12 搜尋引擎的實現263
9.13 面向對象編程建議266
9.13.1 與類相關的編碼風格266
9.13.2 編程建議266
9.14 小結267
第 10 章 類的特殊成員268
10.1 常用類的特殊方法268
10.1.1 創建類實例269
10.1.2 顯示屬性270
10.1.3 銷毀對象271
10.1.4 列出對象的所有屬性(方法)273
10.1.5 查看對象的內部屬性274
10.1.6 __call__()方法277
10.2 常用函式及用法278
10.2.1 hasattr()函式278
10.2.2 getattr()函式279
10.2.3 setattr()函式280
10.2.4 類型檢查282
10.3 運算符重載285
10.3.1 何謂運算符重載285
10.3.2 使用重載運算符實現自定義序列287
10.4 疊代器和生成器289
10.4.1 疊代器289
10.4.2 生成器292
10.4.3 生成器方法294
10.5 函式裝飾器298
10.5.1 函式裝飾器的原理298
10.5.2 含參函式裝飾器300
10.5.3 函式裝飾器嵌套301
10.6 裝飾器的套用場景302
10.6.1 身份認證302
10.6.2 日誌記錄303
10.6.3 輸入合理性檢查303
10.6.4 快取裝飾器304
10.7 小結304
第 11 章 檔案305
11.1 打開檔案305
11.2 檔案對象的基本操作307
11.2.1 讀取與寫入307
11.2.2 使用管道重定向輸出308
11.2.3 讀取和寫入行309
11.2.4 關閉檔案314
11.3 疊代檔案內容315
11.3.1 每次讀取一個字元(或位元組)315
11.3.2 每次一行316
11.3.3 讀取所有內容317
11.3.4 延遲行疊代實現318
11.3.5 檔案疊代器318
11.4 使用tell()函式和seek()函式讀寫檔案319
11.4.1 tell()函式的使用320
11.4.2 seek()函式的使用320
11.5 with as的用法322
11.6 上下文管理器323
11.6.1 基於類實現323
11.6.2 基於生成器實現324
11.7 常用的檔案模組325
11.7.1 pickle模組325
11.7.2 linecache模組328
11.7.3 pathlib模組329
11.7.4 fnmatch模組333
11.7.5 os模組334
11.8 tempfile模組343
11.9 小結345
第 2 篇 高級套用
第 12 章 異常349
12.1 異常是什麼349
12.2 Python常見的異常類型350
12.2.1 Python語法錯誤350
12.2.2 Python運行時錯誤350
12.3 raise的用法355
12.3.1 raise語句的用法355
12.3.2 自定義異常類356
12.4 捕獲異常357
12.4.1 raise捕獲異常358
12.4.2 複雜except子句360
12.4.3 一次捕獲多種異常361
12.4.4 捕獲對象362
12.4.5 捕獲所有異常362
12.4.6 捕獲異常並順利執行代碼363
12.4.7 finally子句365
12.5 跟蹤異常信息367
12.5.1 異常和函式367
12.5.2 sys.exc_info()方法368
12.5.3 traceback模組369
12.6 警告371
12.7 小結373
第 13 章 日期和時間374
13.1 Python中幾個與時間相關的術語374
13.2 Python中時間的表示375
13.3 time模組376
13.4 datetime模組379
13.4.1 datetime.date類379
13.4.2 datetime.time類382
13.4.3 datetime.datetime類383
13.4.4 時間戳與時間字元串轉換386
13.4.5 datetime.timedelta類387
13.5 calendar模組389
13.6 時間格式化輸出391
13.7 小結392
第 14 章 測試代碼393
14.1 先測試,再編碼393
14.1.1 準確的需求說明394
14.1.2 做好應對變化的準備394
14.1.3 測試四步曲395
14.2 測試工具396
14.2.1 doctest框架的使用396
14.2.2 unittest的簡單使用397
14.3 超越單元測試400
14.3.1 原始碼檢查400
14.3.2 性能分析402
14.4 小結402
第 15 章 程式打包403
15.1 Setuptools基礎403
15.2 打包405
15.3 編譯擴展406
15.4 創建可執行程式407
15.5 小結408
第 16 章 使用資料庫409
16.1 資料庫API409
16.1.1 全局變數410
16.1.2 異常410
16.1.3 連線和游標411
16.1.4 類型412
16.2 SQLite和PySQLite413
16.2.1 SQLite起步413
16.2.2 資料庫套用示例414
16.3 小結416
第 17 章 網路編程417
17.1 網路模組417
17.1.1 socket模組417
17.1.2 urllib和urllib2模組419
17.1.3 其他模組420
17.2 SocketServer模組及相關的類420
17.3 處理多個連線421
17.3.1 分叉和執行緒化實現421
17.3.2 異步I/O實現422
17.4 Twisted424
17.4.1 下載並安裝Twisted425
17.4.2 編寫Twisted伺服器425
17.5 小結427
第 18 章 圖形用戶界面428
18.1 建立簡單的Python GUI428
18.1.1 準備工作429
18.1.2 GUI布局430
18.1.3 事件處理431
18.1.4 GUI文本編輯器432
18.2 Tkinter編程433
18.2.1 Tkinter控制項及使用434
18.2.2 Tkinter的套用434
18.3 小結436
第 19 章 科學計算437
19.1 NumPy基礎437
19.1.1 NumPy概述438
19.1.2 ndarray對象438
19.1.3 NumPy數據類型對象440
19.2 數組屬性與創建數組442
19.2.1 數組屬性442
19.2.2 創建數組445
19.2.3 從已有的數組創建數組447
19.2.4 從數值範圍創建數組449
19.3 切片和索引452
19.3.1 切片和索引452
19.3.2 整數數組索引454
19.3.3 布爾索引455
19.3.4 花式索引456
19.4 疊代數組457
19.4.1 控制遍歷順序458
19.4.2 修改數組中元素的值460
19.4.3 使用外部循環460
19.5 處理數組461
19.5.1 修改數組形狀461
19.5.2 翻轉數組464
19.5.3 修改數組維度468
19.5.4 連線數組472
19.5.5 分割數組475
19.5.6 數組元素的添加與刪除478
19.6 使用數學運算函式484
19.6.1 算術函式485
19.6.2 三角函式488
19.6.3 捨入函式490
19.7 小結491
參考文獻492

相關詞條

熱門詞條

聯絡我們