|
-- 會員 / 註冊 --
|
|
|
|
Python物理學高效計算 ( 簡體 字) |
作者:[美]安東尼·斯科普斯(Anthony Scopatz) 凱瑟琳·赫夫(Kathryn D. Huff) | 類別:1. -> 程式設計 -> Python |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 49019 詢問書籍請說出此書號!【缺書】 NT售價: 495 元 |
出版日:2/1/2018 |
頁數:454 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115470782 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書介紹了如何通過Python自動化地完成物理領域方面的研究。全書共分為4個部分,以Python代碼為示例向讀者介紹了如何用Python解決物理項目中出現的各種問題。第 1部分(第 1~6章):起步,介紹Python的基本知識,如命令行、數據容器、類和對象等。第 2部分(第7~13章):上手,主要介紹正則表達式、數據可視化、存儲數據等實用知識。第3部分(第 14~18章):完善,介紹如何構建流程和軟件、版本控制、調試和控制代碼等。第4部分(第 19~23章):發布,介紹如何為代碼生成文檔、如何提高協作效率和軟件許可證以及版權的相關知識等。 本書適合想要通過Python減少工作量的物理學領域的研究人員閱讀,也適合想要學習如何通過Python編程解決物理問題的讀者參考。 |
目錄:第 一部分 起步 第 1章 命令行簡介 3 1.1 Shell概覽 3 1.1.1 Shell是 一 款編程 語言 4 1.1.2 路徑和pwd 5 1.1.3 主目錄(~) 7 1.1.4 列出內容(ls) 8 1.1.5 更改目錄(cd) 9 1.1.6 查看文件內容(head 和tail命令) 12 1.2 操作文件和目錄 12 1.2.1 創建文件(nano、emacs、 vi、cat、>、 touch) 12 1.2.2 復制和重命名文件 (cp和mv) 17 1.2.3 創建目錄 (mkdir) 18 1.2.4 刪除文件和目錄 (rm) 19 1.2.5 標志和通配符 21 1.3 獲取幫助 22 1.3.1 閱讀程序手冊 (man) 22 1.3.2 找到正確的 工具(apropos) 24 1.3.3 用重定向和管道組合 多個實用程序 (>、>>、|) 25 1.4 權限和共享 26 1.4.1 查看權限(ls –l) 27 1.4.2 設置所有權 28 1.4.3 設置權限 (chmod) 29 1.4.4 創建鏈接(ln) 29 1.4.5 連接其他計算機 (ssh和scp) 30 1.5 環境 31 1.5.1 保存環境變量 (.bashrc) 33 1.5.2 運行程序 (PATH) 34 1.5.3 別名命令 (alias) 35 1.6 使用bash編寫腳本 36 1.7 本章小結 38 第 2章 Python編程起步 39 2.1 運行Python 40 2.2 注釋 41 2.3 變量 42 2.4 特殊變量 44 2.4.1 布爾值 44 2.4.2 None不是0! 45 2.4.3 NotImplemented 不是None! 45 2.5 操作符 45 2.6 字符串 49 2.6.1 字符串索引 50 2.6.2 字符串連接 52 2.6.3 字符串字面值 53 2.6.4 字符串方法 55 2.7 模塊 56 2.7.1 導入模塊 56 2.7.2 從模塊中導入 變量 57 2.7.3 別名導入 58 2.7.4 導入變量別名 58 2.7.5 包 59 2.7.6 標準庫和Python 生態系統 61 2.8 本章小結 62 第3章 基本容器 63 3.1 列表 64 3.2 元組 68 3.3 集合 69 3.4 字典 71 3.5 本章小結 73 第4章 流程控制和邏輯運算 75 4.1 條件語句 75 4.1.1 if-else語句 78 4.1.2 if-elif-else語句 79 4.1.3 if-else表達式 80 4.2 異常 80 4.2.1 拋出異常 81 4.3 循環 83 4.3.1 while循環 83 4.3.2 for循環 85 4.3.3 解析式 87 4.4 本章小結 90 第5章 使用函數 91 5.1 Python中的函數 91 5.2 關鍵字參數 94 5.3 變長參數 96 5.4 多返回值 98 5.5 作用域 99 5.6 遞歸 102 5.7 lambda 103 5.8 生成器 104 5.9 裝飾器 107 5.10 本章小結 110 第6章 類和對象 112 6.1 面向對象 112 6.2 對象 113 6.3 類 117 6.3.1 類變量 118 6.3.2 實例變量 120 6.3.3 構造器 121 6.3.4 方法 123 6.3.5 靜態方法 126 6.3.6 鴨子類型 127 6.3.7 多態 128 6.4 裝飾器和元類 132 6.5 本章小結 134 第 2部分 上手 第7章 分析和可視化 139 7.1 準備數據 139 7.1.1 實驗數據 143 7.1.2 模擬數據 144 7.1.3 元數據 145 7.2 載入數據 145 7.2.1 NumPy 146 7.2.2 PyTables 147 7.2.3 Pandas 147 7.2.4 Blaze 148 7.3 清理和改寫數據 149 7.4 分析 153 7.4.1 模型驅動的分析 154 7.4.2 數據驅動的分析 155 7.5 可視化 156 7.5.1 可視化工具 157 7.5.2 gnuplot 158 7.5.3 matplotlib 160 7.5.4 Bokeh 165 7.5.5 Inkscape 167 7.6 本章小結 167 第8章 正則表達式 169 8.1 示例:雜亂的磁性 170 8.2 命令行中的元字符 171 8.2.1 用簡單的模式 列出文件 172 8.2.2 根據模式全局查找 文件名(find) 173 8.3 grep、sed、awk 179 8.4 在文件中查找模式 (grep) 179 8.5 在文件中查找和替換 (sed) 181 8.5.1 查找和替換復雜 模式 183 8.5.2 sed額外內容 184 8.6 處理數據列(awk) 186 8.7 Python正則表達式 188 8.8 本章小結 190 第9章 NumPy:以數組的形式 思考 192 9.1 數組 193 9.2 dtype 195 9.3 切片和視圖 198 9.4 算術和廣播 200 9.5 花式索引 204 9.6 掩模 206 9.7 結構數組 209 9.8 通用函數 211 9.9 其他有用的函數 213 9.10 本章小結 215 第 10章 數據存儲:文件和 HDF5 216 10.1 Python中的文件 217 10.2 關于計算機架構的一些說明 221 10.3 HDF5中的重要思想 223 10.4 文件處理 225 10.5 層次布局 227 10.6 分塊 229 10.7 核內和核外操作 233 10.7.1 核內 233 10.7.2 核外 234 10.8 查詢 235 10.9 壓縮 236 10.10 HDF5工具 237 10.11 本章小結 239 第 11章 物理中重要的數據 結構 240 11.1 散列表 240 11.1.1 調整大小 242 11.1.2 沖突 243 11.2 數據框 245 11.2.1 Series 246 11.2.2 DataFrame結構 247 11.3 B數 250 11.4 k-d樹 252 11.5 本章小結 256 第 12章 并行化執行 258 12.1 規模和擴展能力 259 12.2 問題分類 261 12.3 示例:N體問題 262 12.4 非并行 263 12.5 線程 267 12.6 多處理 273 12.7 MPI 276 12.8 本章小結 281 第 13章 軟件部署 283 13.1 部署軟件本身 284 13.1.1 pip 285 13.1.2 Conda 289 13.1.3 虛擬機 292 13.1.4 Docker 293 13.2 部署到云端 297 13.3 在超算上部署 299 13.4 本章小結 300 第3部分 完善 第 14章 構建流程和軟件 305 14.1 make 306 14.1.1 運行make 308 14.1.2 makefile 308 14.1.3 目標 309 14.1.4 特殊目標 311 14.2 構建和運行軟件 312 14.2.1 Makefile配置 313 14.2.2 編譯 316 14.3 安裝 316 14.4 本章小結 317 第 15章 本地版本控制 318 15.1 什么是版本控制 318 15.1.1 計算物理中的 實驗室筆記本 319 15.1.2 版本控制工具的 類型 320 15.2 Git起步 320 15.2.1 安裝Git 321 15.2.2 獲取幫助 321 15.2.3 控制Git的行為 (git config) 322 15.3 使用Git進行本地版本 控制 323 15.3.1 創建本地庫 (git init) 323 15.3.2 暫存文件 325 15.3.3 檢查本地副本的狀態 (git status) 326 15.3.4 保存快照 (git commit) 326 15.3.5 git log:查看 歷史 329 15.3.6 查看改動 (git diff) 329 15.3.7 取消暫存或回滾文件 (git reset) 330 15.3.8 丟棄提交 (git revert) 331 15.3.9 列出、創建、刪除分 支(git branch) 332 15.3.10 切換分支 (git checkout) 334 15.3.11 合并分支 (git merge) 334 15.3.12 處理沖突 336 15.4 本章小結 336 第 16章 遠程版本控制 337 16.1 代碼托管(github.com) 337 16.2 在GitHub上創建 代碼庫 339 16.3 聲明遠程庫 (git remote) 339 16.4 向遠程庫發送提交 (git push) 340 16.5 下載代碼庫 (git clone) 341 16.6 從遠程庫獲取內容 (git fetch) 344 16.7 合并遠程庫的內容 (git merge) 345 16.8 Pull等于Fetch加Merge (git pull) 345 16.9 沖突 346 16.10 解決沖突 347 16.11 本章小結 348 第 17章 調試 350 17.1 遇到一個bug 351 17.2 print語句 352 17.3 交互式調試 354 17.4 在Pythong中調試 (pdb) 355 17.4.1 設置跟蹤點 356 17.4.2 步進 357 17.4.3 查詢變量 358 17.4.4 設置狀態 358 17.4.5 運行函數和 方法 359 17.4.6 繼續執行 359 17.4.7 斷點 360 17.5 剖析 360 17.5.1 使用pstats查看 剖析文件 361 17.5.2 可視化查看剖析 信息 361 17.5.3 使用Kernprof剖析 代碼 364 17.6 linting 365 17.7 本章小結 366 第 18章 測試 368 18.1 為什么要做測試 369 18.2 什么時候寫測試 369 18.3 在哪里編寫測試 370 18.4 如何測試?測試哪些 內容 370 18.5 運行測試 373 18.6 邊界情形 374 18.7 單元測試 376 18.8 集成測試 378 18.9 回歸測試 380 18.10 測試生成器 380 18.11 測試覆蓋 382 18.12 測試驅動開發 383 18.13 本章小結 386 第4部分 發布 第 19章 文檔 389 19.1 為什么文檔很重要 389 19.1.1 文檔非常有價值 390 19.1.2 編寫文檔比想象的 要簡單 390 19.2 文檔類型 391 19.2.1 理論手冊 391 19.2.2 用戶和開 發 者 指南 392 19.2.3 readme文件 392 19.2.4 注釋 393 19.2.5 自文檔代碼 395 19.2.6 文檔字符串 396 19.3 自動化 397 19.4 本章小結 401 第 20章 出版 402 20.1 文檔處理 403 20.1.1 格式和內容 分離 403 20.1.2 跟蹤改動 404 20.2 文本編輯器 404 20.3 標記語言 405 20.3.1 LaTeX 406 20.3.2 參考文獻 416 20.4 本章小結 419 第 21章 協作 421 21.1 任務單系統 422 21.1.1 工作流程概覽 422 21.1.2 創建問題 424 21.1.3 分配問題 425 21.1.4 討論問題 426 21.1.5 關閉問題 427 21.2 拉取請求和代碼審查 427 21.2.1 提交拉取請求 428 21.2.2 審查合并請求 428 21.2.3 合并拉取請求 429 21.3 本章小結 429 第 22章 許可證、所有權和 版權 430 22.1 哪些內容可賦予版權 431 22.2 首 次發布權 431 22.3 什么是公共領域 432 22.4 選擇一個軟件許可證 432 22.5 伯克利軟件發布 許可證(BSD) 434 22.6 GNU General Public License (GPL) 436 22.7 知識共享(CC) 437 22.8 其他許可證 438 22.9 更換許可證 440 22.10 版權不是一切 441 22.11 本章小結 442 第 23章 關于計算物理進一步 思考 443 術語 447 |
序: |
|