|
-- 會員 / 註冊 --
|
|
|
|
Python學習手冊(原書第5版) ( 簡體 字) |
作者:(美)馬克·盧茨(Mark Lutz) | 類別:1. -> 程式設計 -> Python |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 50142 詢問書籍請說出此書號!【缺書】 NT售價: 1095 元 |
出版日:10/26/2018 |
頁數:1467 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111603665 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:如果你想動手編寫高效、高質量并且很容易與其他語言和工具集成的代碼,本書將快速地幫助你利用Python提高效率。本書基于Python專家的流程培訓課程編寫,內容通俗易懂。本書包含很多注釋的例子和插圖,以幫助你開始使用Python2.7和3.3。每章都包含關于Python語言的重要組成部分的一節課。本書主要內容:了解Python的主要內置對象類型,如數字、列表和字典;創建和處理對象的Python語句,學習Python的一般語法模型;利用Python的基本程序工具的結構和重用代碼;了解Python模塊:語句包、函數和其他工具;探索Python的面向對象的編程工具,用于構建代碼;了解異常處理模型和開發工具編寫較大的程序;探索先進的Python工具,包括裝飾符、描述符、元類、Unicode的處理。 |
目錄:上冊 前言 1 第一部分 使用入門 第1章 問答環節 21 人們為何使用Python 21 軟件質量 22 開發者效率23 Python是一門“腳本語言”嗎 23 好吧,Python的缺點是什么 25 如今誰在使用Python 25 其他的Python設計權衡:一些難以把握的方面 26 使用Python可以做些什么 28 系統編程 28 圖形用戶界面(GUI) 29 Internet腳本 29 組件集成 30 數據庫編程30 快速原型 31 數值計算和科學計算編程 31 更多內容:游戲、圖像、數據挖掘、機器人、Excel等 31 Python如何開發并獲得支持 32 開源的權衡33 Python有哪些技術上的優點 33 面向對象和函數式 33 免費 34 可移植 34 功能強大 35 可混合 36 相對簡單易用 36 相對簡單易學 37 以Monty Python命名 37 Python和其他語言比較起來怎么樣 38 本章小結 39 本章習題 39 習題解答 40 Python是工程,不是藝術 41 第2章 Python如何運行程序 43 Python解釋器簡介 43 程序執行 45 程序員的視角 45 Python的視角 46 執行模型的變體 48 Python的各種實現 49 執行優化工具 52 凍結二進制文件 53 未來的可能性 54 本章小結 55 本章習題 55 習題解答 56 第3章 你應如何運行程序 57 交互式命令行模式 57 開始一個交互式會話 57 Windows平臺上的交互式命令行在哪里 59 系統路徑 59 Python 33中的新Windows選項:PATH和啟動器 60 運行的位置:代碼目錄 61 不需要輸入的內容:提示符和注釋 62 交互式地運行代碼 63 為什么要使用交互式命令行模式 64 使用注意:交互命令行模式 65 系統命令行和文件 67 第一段腳本68 使用命令行運行文件 69 不同的命令行使用方式 70 使用注意:命令行和文件 71 UNIX風格可執行腳本:#! 72 UNIX腳本基礎 72 UNIX env查找技巧 73 Python 33 Windows啟動器:Windows也有#!了 73 點擊文件圖標 75 圖標點擊基礎知識 75 在Windows上點擊圖標 76 Windows上輸入的技巧 77 其他圖標點擊的限制 79 模塊導入和重載 79 導入和重載基礎知識 80 模塊的宏觀視角:屬性 82 使用注意:import和reload 85 使用exec運行模塊文件 85 IDLE用戶界面 86 IDLE啟動細節 87 IDLE基礎用法 88 IDLE功能特性 89 高級IDLE工具 90 使用注意:IDLE 90 其他IDE 92 其他啟動選項 93 嵌入式調用93 凍結二進制可執行文件 94 文本編輯器啟動方式 94 其他的啟動方式 95 未來的可能95 應該選用哪種方式 95 調試Python代碼 96 本章小結 97 本章習題 97 習題解答 98 第一部分練習題 99 第二部分 類型和運算 第4章 介紹Python對象類型 105 Python知識結構 105 為什么要使用內置類型 106 Python核心數據類型 107 數字 108 字符串 110 序列操作 110 不可變性 112 特定類型的方法 113 尋求幫助 115 字符串編程的其他方式 116 Unicode字符串 117 模式匹配 119 列表 120 序列操作 120 特定的操作121 邊界檢查 121 嵌套 122 推導 122 字典 125 映射操作 125 重訪嵌套 126 不存在的鍵:if 測試 128 鍵的排序:for 循環 129 迭代和優化131 元組 132 為什么要使用元組 133 文件 133 二進制字節文件 134 Unicode文本文件 135 其他類文件工具 137 其他核心類型 137 如何破壞代碼的靈活性 139 用戶定義的類 140 剩余的內容141 本章小結 141 本章習題 141 習題解答 142 第5章 數值類型 143 數值類型基礎知識 143 數值字面量144 內置數值工具 146 Python表達式運算符 146 數字的實際應用 151 變量與基礎表達式 151 數值的顯示格式 153 str和repr顯示格式 154 普通比較與鏈式比較 154 除法:經典除法、向下取整除法和真除法 156 整數精度 160 復數 160 十六進制、八進制和二進制:字面量與轉換 161 按位操作 163 其他內置數值工具 164 其他數值類型 167 小數類型 167 分數類型 169 集合 173 布爾型 180 數值擴展 181 本章小結 182 本章習題 182 習題解答 182 第6章 動態類型 184 缺少聲明語句的情況 184 變量、對象和引用 184 類型屬于對象,而不是變量 186 對象的垃圾收集 187 關于Python垃圾回收的更多討論 188 共享引用 189 共享引用和在原位置修改 190 共享引用和相等 192 動態類型隨處可見 193 “弱”引用194 本章小結 194 本章習題 194 習題解答 195 第7章 字符串基礎 196 本章范圍 196 Unicode簡介 197 字符串基礎 197 字符串字面量 199 單引號和雙引號字符串是一樣的 200 轉義序列代表特殊字符 200 原始字符串阻止轉義 203 三引號編寫多行塊字符串 205 實際應用中的字符串 206 基本操作 206 索引和分片207 請留意:分片 211 字符串轉換工具 212 修改字符串I 214 字符串方法 216 方法調用語法 216 字符串的方法 217 字符串方法示例:修改字符串II 218 字符串方法示例:解析文本 220 實際應用中的其他常見字符串方法 220 原始string模塊的函數(在Python 3X中刪除) 221 字符串格式化表達式 223 格式化表達式基礎 224 高級格式化表達式語法 225 高級格式化表達式舉例 226 基于字典的格式化表達式 227 字符串格式化方法調用 228 字符串格式化方法基礎 228 添加鍵、屬性和偏移量 229 高級格式化方法語法 230 高級格式化方法舉例 231 與%格式化表達式比較233 為什么使用格式化方法 236 通用類型分類 241 同一分類中的類型共享同一個操作集241 可變類型能夠在原位置修改 242 本章小結 242 本章習題 243 習題解答 243 第8章 列表與字典 245 列表 245 列表的實際應用 248 基本列表操作 248 列表迭代和推導 248 索引、分片和矩陣 249 原位置修改列表 250 字典 256 字典的實際應用 258 字典的基本操作 258 原位置修改字典 259 其他字典方法 260 示例:電影數據庫 262 字典用法注意事項 263 創建字典的其他方式 267 請留意:字典vs列表 268 Python 3X和27中的字典變化 269 請留意:字典接口 276 本章小結 277 本章習題 277 習題解答 277 第9章 元組、文件與其他核心類型 279 元組 280 元組的實際應用 281 為什么有了列表還要元組 283 重訪記錄:有名元組 284 文件 286 打開文件 287 使用文件 288 文件的實際應用 289 文本和二進制文件:一個簡要的故事290 在文件中存儲Python對象:轉換 291 存儲Python原生對象:pickle 293 用JSON格式存儲Python對象 294 存儲打包二進制數據:struct 296 文件上下文管理器 297 其他文件工具 297 核心類型復習與總結 299 請留意:運算符重載 300 對象靈活性300 引用vs復制 301 比較、等價性和真值 303 Python中True和False的含義 307 Python的類型層次 309 類型的對象309 Python中的其他類型 311 內置類型陷阱 311 賦值創建引用,而不是復制 311 重復會增加層次深度 312 注意循環數據結構 313 不可變類型不可以在原位置改變 313 本章小結 314 本章習題 314 習題解答 315 第二部分練習題 315 第三部分 語句和語法 第10章 Python語句簡介 321 重溫Python的知識結構 321 Python的語句 322 兩種不同的if 324 Python增加的元素 325 Python刪除的元素 325 為什么采用縮進語法 327 幾種特殊情況 329 簡短示例:交互式循環 331 一個簡單的交互式循環 331 對用戶輸入做數學運算 333 通過測試輸入數據來處理錯誤 334 用try語句處理錯誤 335 嵌套三層深的代碼 337 本章小結 338 本章習題 338 習題解答 338 第11章 賦值、表達式和打印 340 賦值語句 340 賦值語句形式 341 序列賦值 342 Python 3X中的擴展序列解包 345 多目標賦值349 增量賦值 350 變量命名規則 353 Python中的廢棄協議 355 表達式語句 356 表達式語句和原位置修改 358 打印操作 358 Python 3X的print函數 359 Python 2X的print語句 362 打印流重定向 363 版本中立的打印 367 為什么你要注意:print和stdout 369 本章小結 370 本章習題 370 習題解答 370 第12章 if測試和語法規則 372 if語句372 一般形式 372 基礎示例 373 多路分支 373 復習Python語法規則 375 代碼塊分隔符:縮進規則 377 語句分隔符:行與行間連接符 378 一些特殊情況 379 真值和布爾測試 381 if/else三元表達式 383 請留意:布爾值 384 本章小結 386 本章習題 386 習題解答 386 第13章 while循環和for循環 387 while循環 387 一般形式 387 示例 388 break、continue、pass和循環的else 389 一般循環形式 389 pass 389 continue 391 break 391 循環的else 392 請留意:仿真C 語言的while循環 393 for循環 394 一般形式 394 示例 395 請留意:文件掃描器 400 編寫循環的技巧 402 計數器循環:range 402 序列掃描:while和range vs for 403 序列亂序器:range和len 404 非窮盡遍歷:range vs分片 405 修改列表:range vs推導 406 并行遍歷:zip和map 407 同時給出偏移量和元素:enumerate 410 請留意:shell命令及其他 411 本章小結 414 本章習題 414 習題解答 414 第14章 迭代和推導 416 迭代器:初次探索 417 迭代協議:文件迭代器 417 手動迭代:iter和next 420 其他內置類型可迭代對象 423 列表推導:初次深入探索 425 列表推導基礎 426 在文件上使用列表推導 427 擴展的列表推導語法 428 其他迭代上下文 430 Python 3X新增的可迭代對象 435 對Python 2X版本代碼的影響:利與弊 435 range可迭代對象 436 map、zip和filter可迭代對象 437 多遍迭代器vs單遍迭代器 439 字典視圖可迭代對象 440 其他迭代話題 441 本章小結 442 本章習題 442 習題解答 442 第15章 文檔 444 Python文檔資源 444 #注釋 445 dir函數 445 文檔字符串:__doc__ 447 PyDoc:help函數 450 PyDoc:HTML報告 453 改變PyDoc的顏色 456 超越文檔字符串:Sphinx 461 標準手冊集462 網絡資源 463 已出版的書籍 463 常見代碼編寫陷阱 463 本章小結 465 本章習題 466 習題解答 466 第三部分練習題 467 第四部分 函數和生成器 第16章 函數基礎 473 為何使用函數 474 編寫函數 475 def語句 476 def語句執行于運行時 477 第一個示例:定義和調用 478 定義 478 調用 478 Python中的多態 479 第二個示例:尋找序列的交集 480 定義 480 調用 481 重訪多態 482 局部變量 482 本章小結 483 本章習題 483 習題解答 483 第17章 作用域 485 Python作用域基礎 485 作用域細節486 變量名解析:LEGB規則 488 作用域實例490 內置作用域491 打破Python 2X的小宇宙 494 global語句 494 程序設計:最少化全局變量 495 程序設計:最小化跨文件的修改 497 其他訪問全局變量的方式 498 作用域和嵌套函數 499 嵌套作用域的細節 500 嵌套作用域舉例 500 工廠函數:閉包 501 使用默認值參數來保存外層作用域的狀態 503 Python 3X中的nonlocal語句 507 nonlocal基礎 508 nonlocal應用 509 為什么選nonlocal?狀態保持備選項 511 nonlocal變量的狀態:僅適用于Python 3X 511 全局變量的狀態:只有一份副本 512 類的狀態:顯式屬性(預習) 513 函數屬性的狀態:Python 3X和Python 2X的異同 514 請留意:定制open 516 本章小結 518 本章習題 518 習題解答 520 第18章 參數 521 參數傳遞基礎 521 參數和共享引用 522 避免修改可變參數 524 模擬輸出參數和多重結果 525 特殊的參數匹配模式 526 參數匹配基礎 526 參數匹配語法 527 更深入的細節 528 關鍵字參數和默認值參數的示例 529 可變長參數的實例 532 Python 3X的keyword-only參數 536 min提神小例 539 滿分 540 附加分 541 結論 542 通用set函數 542 模擬Python 3X print函數 544 使用keyword-only參數 546 請留意:關鍵字參數 547 本章小結 548 本章習題 548 習題解答 549 第19章 函數的高級話題 550 函數設計概念 550 遞歸函數 552 用遞歸求和552 編碼替代方案 553 循環語句vs遞歸 554 處理任意結構 555 函數對象:屬性和注解 558 間接函數調用:“一等”對象 559 函數自省 560 函數屬性 561 Python 3X中的函數注解 562 匿名函數:lambda564 lambda表達式基礎 564 為什么使用lambda 566 如何(不)讓Python代碼變得晦澀難懂 568 作用域:lambda也能嵌套 569 請留意:lambda回調 570 函數式編程工具 570 在可迭代對象上映射函數:map 571 選擇可迭代對象中的元素:filter 573 合并可迭代對象中的元素:reduce 573 本章小結 575 本章習題 575 習題解答 575 第20章 推導和生成 577 列表推導與函數式編程工具 577 列表推導與map 578 使用filter增加測試和循環嵌套 579 示例:列表推導與矩陣 582 不要濫用列表推導:簡單勝于復雜(KISS) 584 請留意:列表推導和map 585 生成器函數與表達式 587 生成器函數:yield vs return 587 生成器表達式:當可迭代對象遇見推導語法 592 生成器函數vs生成器表達式 597 生成器是單遍迭代對象 599 Python 33的yield from擴展 600 內置類型、工具和類中的值生成 601 實例:生成亂序序列 604 不要過度使用生成器:明確勝于隱晦(EIBTI) 609 示例:用迭代工具模擬zip和map 611 為什么你要注意:單遍迭代 616 推導語法總結 617 作用域及推導變量 617 理解集合推導和字典推導 619 集合與字典的擴展推導語法 620 本章小結 621 本章習題 621 習題解答 621 第21章 基準測試 623 計時迭代可選方案 623 自己編寫的計時模塊 624 33版本中新的計時器調用 627 計時腳本 628 計時結果 630 計時模塊可選方案 633 其他建議 636 用timeit為迭代和各種Python計時 637 timeit基礎用法 637 基準測試模塊和腳本:timeit 641 基準測試腳本結果 643 基準測試的更多樂趣 646 其他基準測試主題:pystones 650 函數陷阱 651 局部變量是被靜態檢測的 651 默認值參數和可變對象 653 沒有return語句的函數 655 其他函數陷阱 655 本章小結 656 本章習題 656 習題解答 656 第四部分練習題 657 第五部分 模塊和包 第22章 模塊:宏偉藍圖 663 為什么使用模塊 664 Python程序架構 664 如何組織一個程序 665 導入和屬性665 標準庫模塊667 import如何工作 667 1搜索 668 2編譯(可選) 668 3運行 669 字節碼文件:Python 32及以上版本的__pycache__ 670 實際應用中的字節碼文件模型 671 模塊搜索路徑 672 配置搜索路徑 674 搜索路徑的變化 674 syspath列表 675 模塊文件選擇 676 第三方工具:distutils 678 本章小結 678 本章習題 679 習題解答 679 第23章 模塊代碼編寫基礎 680 模塊的創建 680 模塊文件名680 其他種類的模塊 681 模塊的使用 681 import語句 681 from語句 682 from *語句 682 導入只發生一次 683 import和from是賦值語句 684 import和from的等價性 685 from語句潛在的陷阱 686 模塊命名空間 687 文件產生命名空間 687 命名空間字典:__dict__ 689 屬性名稱的點號運算 689 導入與作用域 690 命名空間的嵌套 691 重新加載模塊 692 reload基礎 693 reload示例 694 請留意:模塊重新加載 695 本章小結 696 本章習題 696 習題解答 696 第24章 模塊包 698 包導入基礎 698 包和搜索路徑設置 699 __init__py包文件 700 包導入示例 702 包的from語句與包的import語句 703 為什么要使用包導入 704 三個系統的故事 705 請留意:模塊包 707 包相對導入 708 Python 3X中的變化 708 相對導入基礎知識 709 為什么使用相對導入 710 相對導入的適用情況 713 模塊查找規則總結 713 相對導入的實際應用 714 包相對導入的陷阱:混合使用 719 Python 33中的命名空間包 724 命名空間包的語義 725 對常規包的影響:可選的__init__py 726 命名空間包的實際應用 727 命名空間包嵌套 729 文件仍然優先于路徑 730 本章小結 732 本章習題 732 習題解答 733 第25章 高級模塊話題 734 模塊設計概念 734 模塊中的數據隱藏 736 使 * 的破壞最小化:_X和__all__ 736 啟用未來語言特性:__future__ 737 混合使用模式:__name__和__main__ 738 以__name__進行單元測試 739 示例:雙模式代碼 740 貨幣符號:Unicode的應用 743 文檔字符串:模塊文檔的應用 745 修改模塊搜索路徑 746 import語句和from語句的as擴展 747 示例:模塊即是對象 748 用名稱字符串導入模塊 750 運行代碼字符串 751 直接調用:兩種方式 751 示例:傳遞性模塊重載譯注1 752 遞歸重載器752 另外的代碼756 模塊陷阱 759 模塊名稱沖突:包和包相對導入 760 頂層代碼中語句次序很重要 760 from復制名稱,而不是鏈接 761 from *會讓變量含義模糊化 762 reload不能作用于from導入 762 reload、from以及交互式測試 763 遞歸形式的from導入可能無法工作 764 本章小結 765 本章習題 766 習題解答 766 第五部分練習題 766
|
序: |
|