作 者:[美]大衛·比斯利(David Beazley),布萊恩·K. 瓊斯(Brian K.Jones)著 著 陳舸 譯
定 價:129.8
出 版 社:人民郵電出版社
出版日期:2023年10月01日
頁 數:684
裝 幀:平裝
ISBN:9787115379597
如果你在編寫Python 3程序時需要幫助,或者想更新老的Python 2代碼,本書正是你所需要的。本書包含了大量使用Python 3.3編寫並測試過的實用編程技巧。對於那些關注現代工具和慣用技巧的有經驗的Python程序員來說,本書無可替代。本書包含了12個以上的完整主題,其範圍涵蓋了Python語言的核心以及多個應用領域中的常見任務。每一節中包含的示例代碼都可以立刻應用到你自己的項目中去,而每節的討論部分則告訴你解決方案是如何以及為什麼能夠工作。本書主題包括:數據結構和算法;字符等
●目錄第 1章 數據結構和算法11.1 將序列分解為單獨的變量11.2 從任意長度的可迭代對像素31.3 保存**素51.4 找到**大或**小素71.5 實現優先級隊列91.6 在字典中將鍵映射到多個值上111.7 讓字典保持有序131.8 與字典有關的計算問題141.9 在兩個字典中尋找相同點151.10 從序列中移除重復項素間順序不變171.11 對切片命名181.12 找出序列中出現次數*素201.13 通過公共鍵對字典列表排序221.14 對不原生支持比較操作的對像排序231.15 根據字段將記錄分組251.16 篩選序素261.17 從字典中提取子集291.18 將名稱映射到素中301.19 同時對數據做轉換和換算331.20 將多個映射合並為單個映射34第 2章 字符串和文本372.1 針對任意多的分隔符拆分字符串372.2 在字符串的開頭或結尾處做文本匹配382.3 利用Shell通配符做字符串匹配402.4 文本模式的匹配和查找422.5 查找和替換文本452.6 以不區分大小寫的方式對文本做查找和替換472.7 定義實現**短匹配的正則表達式482.8 編寫多行模式的正則表達式492.9 將Unicode文本統一表示為規範形式502.10 用正則表達式處理Unicode字符522.11 從字符串中去掉不需要的字符532.12 文本過濾和清理542.13 對齊文本字符串572.14 字符串連接及合並592.15 給字符串中的變量名做插值處理622.16 以固定的列數重新格式化文本642.17 在文本中處理HTML和XML實體662.18 文本分詞672.19 編寫一個簡單的遞歸下降解析器702.20 在字節串上執行文本操作80第3章 數字、日期和時間833.1 對數值進行取整833.2 執行精 確的小數計算853.3 對數值做格式化輸出873.4 同二進制、八進制和十六進制數打交道893.5 從字節串中打包和解包大整數903.6 復數運算923.7 處理無窮大和NaN943.8 分數的計算963.9 處理大型數組的計算973.10 矩陣和線性代數的計算1013.11 隨機選擇1033.12 時間換算1053.13 計算上周5的日期1073.14 找出當月的日期範圍1083.15 將字符串轉換為日期1103.16 處理涉及到時區的日期問題112第4章 迭代器和生成器1144.1 手動訪問迭代素1144.2 委托迭代1154.3 用生成器創建新的迭代模式1164.4 實現迭代協議1184.5 反向迭代1214.6 定義帶有額外狀態的生成器函數1224.7 對迭代器做切片操作1234.8 跳過可迭代對像中的前素1244.9 迭代所有可能的組合或排列1274.10 以索引-值對的形式迭代序列1294.11 同時迭代多個序列1314.12 在不同的容器中進行迭代1334.13 創建處理數據的管道1344.14 扁平化處理嵌套型的序列1374.15 合並多個有序序列,再對整個有序序列進行迭代1394.16 用迭代器取代while循環140第5章 文件和I/O1425.1 讀寫文本數據1425.2 將輸出重定向到文件中1455.3 以不同的分隔符或行結尾符完成打印1455.4 讀寫二進制數據1465.5 對已不存在的文件執行寫入操作1495.6 在字符串上執行I/O操作1505.7 讀寫壓縮的數據文件1515.8 對固定大小的記錄進行迭代1525.9 將二進制數據讀取到可變緩衝區中1535.10 對二進制文件做內存映射1555.11 處理路徑名1575.12 檢測文件是否存在1585.13 獲取目錄內容的列表1595.14 繞過文件名編碼1615.15 打印無法解碼的文件名1625.16 為已經打開的文件添加或修改編碼方式1645.17 將字節數據寫入文本文件1665.18 將已有的文件描述符包裝為文件對像1675.19 創建臨時文件和目錄1695.20 同串口進行通信1715.21 序列化Python對像172第6章 數據編碼與處理1776.1 讀寫CSV數據1776.2 讀寫JSON數據1816.3 解析簡單的XML文檔1866.4 以增量方式解析大型XML文件1886.5 將字典轉換為XML1926.6 解析、修改和重寫XML1946.7 用命名空間來解析XML文檔1966.8 同關繫型數據庫進行交互1986.9 編碼和解碼十六進制數字2016.10 Base64編碼和解碼2026.11 讀寫二進制結構的數組2036.12 讀取嵌套型和大小可變的二進制結構2076.13 數據彙總和統計218第7章 函數2217.1 編寫可接受任意數量參數的函數2217.2 編寫隻接受關鍵字參數的函數2237.3 &nbs數據信息附加到函數參數上2247.4 從函數中返回多個值2257.5 定義帶有默認參數的函數2267.6 定義匿名或內聯函數2297.7 在匿名函數中綁定變量的值2307.8 讓帶有N個參數的可調用對像以較少的參數形式調用2327.9 用函數替代隻有單個方法的類2357.10 在回調函數中攜帶額外的狀態2367.11 內聯回調函數2407.12 訪問定義在閉包內的變量242第8章 類與對像2468.1 修改實例的字符串表示2468.2 自定義字符串的輸出格式2488.3 讓對像支持上下文管理協議2498.4 當創建大量實例時如何內存2518.5 將名稱封裝到類中2528.6 創建可管理的屬性2548.7 調用父類中的方法2598.8 在子類中擴展屬性2638.9 創建一種新形式的類屬性或實例屬性2678.10 讓屬性具有惰性求值的能力2718.11 簡化數據結構的初始化過程2748.12 定義一個接口或抽像基類2788.13 實現一種數據模型或類型繫統2818.14 實現自定義的容器2878.15 委托屬性的訪問2918.16 在類中定義多個構造函數2968.17 不通過調用init來創建實例2988.18 用Mixin技術來擴展類定義2998.19 實現帶有狀態的對像或狀態機3058.20 調用對像上的方法,方法名以字符串形式給出3118.21 實現訪問者模式3128.22 實現非遞歸的訪問者模式3178.23 在環狀數據結構中管理內存3248.24 讓類支持比較操作3278.25 創建緩存實例330第9章 &nb編程3359.1 給函數添加一個包裝3359.2 編寫裝飾器時如何保存數據3379.3 對裝飾器進行解包裝3399.4 定義一個可接受參數的裝飾器3419.5 定義一個屬性可由用戶修改的裝飾器3429.6 定義一個能接收可選參數的裝飾器3469.7 利用裝飾器對函數參數強制執行類型檢查3489.8 在類中定義裝飾器3529.9 把裝飾器定義成類3549.10 把裝飾器作用到類和靜態方法上3579.11 編寫裝飾器為被包裝的函數添加參數3599.12 利用裝飾器給類定義打補丁3629.13  類來控制實例的創建3649.14 獲取類屬性的定義順序3679.15 定義一個能接受可選類3709.16 在*args和**kwargs上強制規定一種參數簽名3729.17 在類中強制規定編碼約定3759.18 通過編程的方式來定義類3789.19 在定義的時候初始化類成員3829.20 通過函數注解來實現方法重載3849.21 避免出現重復的屬性方法3919.22 以簡單的方式定義上下文管理器3939.23 執行帶有局部副作用的代碼3959.24 解析並分析Python源代碼3989.25 將Python源碼分解為字節碼402第 10章 模塊和包40610.1 把模塊按層次結構組織成包40610.2 對所有符號的導入進行精 確控制40710.3 用相對名稱來導入包中的子模塊40810.4 將模塊分解成多個文件41010.5 讓各個目錄下的代碼在統一的命名空間下導入41310.6 重新加載模塊41510.7 讓目錄或zip文件成為可運行的腳本41610.8 讀取包中的數據文件41710.9 添加目錄到sys.path中41810.10 使用字符串中給定的名稱來導入模塊
《Python Cookbook(第3版)中文版》介紹了Python應用在各個領域中的一些使用技巧和方法,其主題涵蓋了數據結構和算法,字符串和文本,數字、日期和時間,迭代器和生成器,文件和I/O,數據編碼與處理,函數,類與編程,模塊和包,網絡和Web編程,並發,實用腳本和繫統管理,測試、調試以及異常,C語言擴展等。本書覆蓋了Python應用中的很多常見問題,並提出了解決方案。書中包含了大量實用的編程技巧和示例代碼,並在Python 3.3環境下進行了測試,可以很方便地應用到實際項目中去。此外,《Python Cookbook(第3版)中文版》還詳細講解了解決方案是如何工作的,以及為什麼能夠工作。《Python Cookbook(第3版)中文版》非常適合具有一定編程基礎的Python程序員閱讀參考。
[美]大衛·比斯利(David Beazley),布萊恩·K. 瓊斯(Brian K.Jones)著 著 陳舸 譯
David Beazley是一位居住在芝加哥的獨立軟件開發 者以及圖書作者。他主要的工作在於編程工具,提供定制化的軟件開發服務,以及為軟件開 發者、和工程師教授編程實踐課程。他為人熟知的工作在於Python編程語言,他已為此創建了好幾個開源的軟件包(例如Swig和PLY),並且是備受贊譽的圖書Python Essential Reference的作者。他也對C、C++以及彙編語言下的繫統編程有著豐富的經驗。Brain K. Jones是普林斯頓大學計算機繫的一位繫統管理員。