Python帶我起飛——入門、進階、商業實戰 ( 簡體 字) |
作者:李金洪 | 類別:1. -> 程式設計 -> Python |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 49346 詢問書籍請說出此書號!【有庫存】 NT售價: 395 元 |
出版日:6/1/2018 |
頁數:352 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121343223 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:1. 大量的教學視頻: 為了讓讀者更好地學習本書,作者給每一章內容都錄制了教學視頻(一共47段共429分鐘)。借助這些視頻,讀者可以更輕松地學習。
2. 大量的典型應用實例,實戰性強,有較高的應用價值: 本書提供了42個Python相關的實戰案例,理論講解最終都落實到代碼實現上。而且這些案例會伴隨著圖書內容的推進,不斷地趨近于工程化項目的風格,具有很高的應用價值和參考性。
3. 完整的源代碼和配套素材: 書中所有的代碼都提供了免費下載,讀者學習更方便。 另外,讀者可以方便地獲得書中案例的相關安裝包和素材:如果是來源于網站的,則提供了有效下載鏈接;如果是作者制作的,則在隨書資源中直接提供了。
4. 語法規則覆蓋廣: 本書幾乎囊括了Python 3版本中所涉及的全部語法規則,讀者在系統學習之后,仍可將其當作一本Python語法工具書長伴左右,遇到生僻語法時及時查閱。
5. 商業案例,應用性強: 本書提供的案例多數來源于真正的商業項目,具有高度的參考價值。有些代碼甚至可以直接移植到自己的項目中,進行重復使用。使“從學到用”這個過程變得更加直接。
6. 大量寶貴經驗的分享: 授人以魚,不如授之以漁。本書在講解知識時,更注重方法與經驗的傳遞。全書共有幾十個“注意”標簽,其中的內容都是含金量很高的成功經驗分享與易錯事項總結,有關于經驗技巧的,有關于風險規避的,可以幫助讀者在學習的路途上披荊斬棘,快速融會貫通。 |
內容簡介:全書共分為4篇:第1篇,包括了解Python、配置機器及搭建開發環境、語言規則;第2篇,介紹了Python語言的基礎操作,包括變量與操作、控制流、函數操作、錯誤與異常、文件操作;第3篇,介紹了更高級的Python語法知識及應用,包括面向對象編程、系統調度編程;第4篇,是對前面知識的綜合及實際應用,包括爬蟲實戰、自動化實戰、機器學習實戰、人工智能實戰。本書結構清晰、案例豐富、通俗易懂、實用性強。特別適合Python語言的初學者和進階讀者,作為自學教程閱讀。另外,本書也適合社會培訓學校作為培訓教材使用,還適合大中專院校的相關專業作為教學參考書。 |
目錄:---------------第1 篇 入門--------------- ▇ 第1 章 了解Python 1.1 了解Python 的歷史 1.2 Python 可以做什么 1.3 Python 在數據科學中的地位及前景 1.4 如何使用本書
▇第2 章 配置機器及搭建開發環境 ★ 本章教學視頻說明 2.1 Python 版本及開發環境介紹 ∣2.1.1 Python 的運行方式 ∣2.1.2 常見的集成開發環境(IDE) 2.2 下載及安裝Anaconda 2.3 熟悉Anaconda 3 開發工具 ∣2.3.1 快速了解Spyder ∣2.3.2 快速了解Jupyter Notebook 2.4 實例1:運行Python 程序,并傳入參數 ∣2.4.1 在Spyder 中新建Python 文件,編寫代碼,運行代碼 ∣2.4.2 用命令行啟動Python 程序,并傳入參數 ∣2.4.3 用Spyder 啟動Python 程序,并傳入參數
▇ 第3 章 語言規則——Python 的條條框框 ★ 本章教學視頻說明 3.1 了解編程語言的分類 3.2 基礎規則 ∣3.2.1 了解Python 源代碼相關的幾個概念 ∣3.2.2 語句的基本規則:變量、語句、代碼塊 ∣3.2.3 添加注釋 ∣3.2.4 使用Python 的“幫助” 3.3 代碼文件的結構 ∣3.3.1 模塊 ∣3.3.2 包 3.4 模塊的詳細介紹 ∣3.4.1 模塊的作用及分類 ∣3.4.2 模塊的基本使用方法 ∣3.4.3 模塊的搜索路徑 ∣3.4.4 模塊的屬性 ∣3.4.5 模塊名字的可變性 ∣3.4.6 模塊的常規寫法 3.5 模塊的四種導入方式 ∣3.5.1 import as 方式 ∣3.5.2 from import 方式 ∣3.5.3 from import * 方式 ∣3.5.4 導入文件名中帶空格的模塊 3.6 實例2:封裝獲取系統信息的模塊,并將其導入 ∣3.6.1 在當前代碼中的函數與模塊中的函數同名情況下,導入模塊 ∣3.6.2 在模塊與當前代碼不在同一路徑的情況下,導入模塊 ∣3.6.3 導入上級路徑的模塊
---------------第2 篇 進階--------------- ▇ 第4 章 變量——編寫代碼的基石 ★ 本章教學視頻說明 4.1 什么是變量 4.2 了解變量的規則 ∣4.2.1 明白變量的本質——對象 ∣4.2.2 同時定義多個變量 ∣4.2.3 變量類型介紹 ∣4.2.4 變量類型的幫助函數 4.3 numbers(數字)類型 ∣4.3.1 獲取對象的類型 ∣4.3.2 算術運算符 ∣4.3.3 實例3:演示“算術運算符”的使用 ∣4.3.4 賦值運算符 ∣4.3.5 實例4:演示“賦值運算符”的使用 ∣4.3.6 比較運算符 ∣4.3.7 實例5:演示“比較運算符”的使用 ∣4.3.8 慎用is 函數 ∣4.3.9 實例6:演示Python 的緩存機制 ∣4.3.10 布爾型關系的運算符 ∣4.3.11 位運算符 ∣4.3.12 實例7:演示“位運算符”的使用 4.4 strings(字符串)類型 ∣4.4.1 字符串的描述 ∣4.4.2 轉義符 ∣4.4.3 屏幕I/O 及格式化 ∣4.4.4 實例8:以字符串為例,演示“序列”類型的運算及操作 ∣4.4.5 關于切片的特殊說明 ∣4.4.6 字符串的相關函數 4.5 list(列表)類型 ∣4.5.1 list 的運算及操作 ∣4.5.2 list 的內置方法 ∣4.5.3 實例9:演示list 使用中的技巧及注意事項 ∣4.5.4 列表嵌套 ∣4.5.5 實例10:使用list 類型實現隊列和棧 ∣4.5.6 實例11:使用函數filter 篩選列表——篩選學生列表中的偏科學生名單 4.6 tuple(元組)類型 ∣4.6.1 tuple 的描述 ∣4.6.2 運算及操作 ∣4.6.3 實例12:演示tuple 的用法 4.7 set(集合)類型 ∣4.7.1 set 的描述 ∣4.7.2 set 的運算 ∣4.7.3 set 的內置方法 ∣4.7.4 不可變集合 4.8 dictionary(字典)類型 ∣4.8.1 字典的描述 ∣4.8.2 字典的運算 ∣4.8.3 字典的內置方法 4.9 對組合對象進行“深拷貝”和“淺拷貝” ∣4.9.1 淺拷貝 ∣4.9.2 深拷貝
▇ 第5 章 控制流——控制執行順序的開關 ★ 本章教學視頻說明 5.1 if 語句 ∣5.1.1 語句形式 ∣5.1.2 演示if 語句的使用 ∣5.1.3 實例13:根據來訪人的性別選擇合適的稱呼 5.2 while 語句 ∣5.2.1 語句形式 ∣5.2.2 演示while 語句的使用 ∣5.2.3 實例14:將十進制數轉化為二進制數 5.3 for 語句 ∣5.3.1 語句形式 ∣5.3.2 在for 循環中,使用切片 ∣5.3.3 在for 循環中,使用內置函數range ∣5.3.4 實例15:利用循環實現冒泡排序 ∣5.3.5 在for 循環中,使用內置函數zip ∣5.3.6 在for 循環中,使用內置函數enumerate 5.4 對循環進行控制——break、continue、pass 語句 5.5 實例16:演示人機對話中的控制流程(綜合應用前面語句) 5.6 利用for 循環實現列表推導式 5.7 實例17:利用循環來打印“九九乘法表” 5.8 理解for 循環的原理——迭代器
▇ 第6 章 函數——功能化程序片段的封裝 ★ 本章教學視頻說明 6.1 函數的基本概念 ∣6.1.1 函數的定義 ∣6.1.2 函數的組成部分 ∣6.1.3 函數的參數:形參與實參 ∣6.1.4 函數的返回值 ∣6.1.5 函數的屬性 ∣6.1.6 函數的本質 ∣6.1.7 函數的分類 ∣6.1.8 實例18:打印兩個心形圖案 6.2 定義參數及調用函數 ∣6.2.1 函數參數的定義方法與調用形式 ∣6.2.2 在函數調用中檢查參數 ∣6.2.3 函數調用中的參數傳遞及影響 6.3 匿名函數與可迭代函數 ∣6.3.1 匿名函數與可迭代函數的介紹 ∣6.3.2 匿名函數與reduce 函數的組合應用 ∣6.3.3 匿名函數與map 函數的組合應用 ∣6.3.4 匿名函數與filter 函數的組合應用 ∣6.3.5 可迭代函數的返回值 6.4 偏函數 6.5 遞歸函數 6.6 eval 與exec 函數 ∣6.6.1 eval 與exec 的區別 ∣6.6.2 eval 與exec 的定義 ∣6.6.3 exec 和eval 的使用經驗 ∣6.6.4 eval 與exec 的擴展知識 6.7 實例19:批量測試轉化函數(實現“組合對象”與“字符串”的相互轉化) ∣6.7.1 編寫兩個功能函數 ∣6.7.2 編寫單元測試用例 ∣6.7.3 批量運行單元測試用例 6.8 生成器函數 ∣6.8.1 生成器與迭代器的區別 ∣6.8.2 生成器函數 ∣6.8.3 生成器表達式 6.9 變量的作用域 ∣6.9.1 作用域介紹 ∣6.9.2 global 語句 ∣6.9.3 nonlocal 語句 6.10 工廠函數 ∣6.10.1 普通工廠函數的實現 ∣6.10.2 閉合函數(closure) ∣6.10.3 裝飾器(decorator) ∣6.10.4 @修飾符 ∣6.10.5 更高級的裝飾器 ∣6.10.6 解決“同作用域下默認參數被覆蓋”問題
▇ 第7 章 錯誤與異常——調教出聽話的程序 ★ 本章教學視頻說明 7.1 錯誤的分類 ∣7.1.1 語法錯誤 ∣7.1.2 運行時錯誤 7.2 異常的基本語法 ∣7.2.1 同時處理多個異常 ∣7.2.2 異常處理中的else 語句 ∣7.2.3 輸出未知異常 ∣7.2.4 輸出異常的詳細信息 7.3 捕獲與處理異常 ∣7.3.1 異常的處理流程 ∣7.3.2 try 語句的工作原理 ∣7.3.3 一些常見的異常 7.4 創建異常 ∣7.4.1 創建異常的方法 ∣7.4.2 創建異常舉例 7.5 異常的最終處理(清理動作) ∣7.5.1 finally 的使用場景 ∣7.5.2 finally 與else 的區別 7.6 判定條件的正確性(斷言) ∣7.6.1 斷言的表達形式 ∣7.6.2 帶錯誤信息的斷言語句 7.7 實例20:如HTTP 請求失敗,實現“重試”功能 ∣7.7.1 使用裝飾器實現失敗重試 ∣7.7.2 編寫簡單爬蟲 ∣7.7.3 傳入正確的目的地址,開始爬取 ∣7.7.4 傳入錯誤的目的地址,驗證“重試”功能
▇ 第8 章 文件操作——數據持久化的一種方法 ★ 本章教學視頻說明 8.1 文件的基本操作 ∣8.1.1 讀寫文件的一般步驟 ∣8.1.2 打開文件 ∣8.1.3 具體讀寫 ∣8.1.4 關閉文件 8.2 文件對象的方法 ∣8.2.1 文件對象的常用方法介紹 ∣8.2.2 把文件對象當作迭代器來讀取 8.3 實例21:帶有異常處理的文件操作 8.4 使用with 語句簡化代碼 ∣8.4.1 實例22:使用with 語句操作文件 ∣8.4.2 with 語法的原理 8.5 實現字符串與二進制數的相互轉化 ∣8.5.1 將字符串轉二進制數 ∣8.5.2 將二進制數轉字符串 8.6 將任意對象序列化 ∣8.6.1 pickle 函數 ∣8.6.2 實例23:用pickle 函數實現元組與“二進制對象”“二進制對象文件”之間的轉換 ∣8.6.3 序列化的擴展方法(ZODB 模塊) 8.7 實例24:批量讀取及顯示CT 醫療影像數據 ∣8.7.1 DICOM 介紹 ∣8.7.2 Python 中的DICOM 接口模塊 ∣8.7.3 編寫代碼以載入DICOM 文件 ∣8.7.4 讀取DICOM 中的數值 ∣8.7.5 顯示單張DICOM 數據圖像 ∣8.7.6 批量生成DICOM 數據圖像
---------------第3 篇 高階--------------- ▇ 第9 章 類——面向對象的編程方案 ★ 本章教學視頻說明 9.1 類的相關術語及實現 ∣9.1.1 創建類 ∣9.1.2 創建類屬性 ∣9.1.3 定義類的動態屬性 ∣9.1.4 限制類屬性(__slots__) 9.2 實例化類對象 ∣9.2.1 帶有初始值的實例化 ∣9.2.2 class 中的self ∣9.2.3 類方法(@classmethod)與靜態方法(@staticmethod) ∣9.2.4 類變量與實例變量的區別 ∣9.2.5 銷毀類實例化對象 9.3 類變量的私有化類屬性 ∣9.3.1 公有化(public)與私有化(private) ∣9.3.2 私有化的實現 ∣9.3.3 使用裝飾器技術實現類的私有化(@property) 9.4 實現子類 ∣9.4.1 繼承 ∣9.4.2 實例25:演示類的繼承 ∣9.4.3 super 函數 ∣9.4.4 實例26:演示super 函數的功能 9.5 類相關的常用內置函數 ∣9.5.1 判斷實例(isinstance) ∣9.5.2 判斷子類(issubclass) ∣9.5.3 判斷類實例中是否含有某個屬性(hasattr) ∣9.5.4 獲得類實例中的某個屬性(getattr) ∣9.5.5 設置類實例中的某個屬性值(setattr) 9.6 重載運算符 ∣9.6.1 重載運算符的方法與演示 ∣9.6.2 可重載的運算符 9.7 包裝與代理 ∣9.7.1 包裝 ∣9.7.2 代理 ∣9.7.3 實例27:使用代理的方式實現RESTful API 接口 9.8 自定義異常類 ∣9.8.1 自定義異常類的方法 ∣9.8.2 實例28:自定義異常類的多重繼承與使用 9.9 支持with 語法的自定義類 ∣9.9.1 實現支持with 語法的類 ∣9.9.2 實例29:代碼實現自定義類,并使其支持with 語法 9.10 “自定義迭代器類”的實現與調試技巧 ∣9.10.1 實例30:自定義迭代器,實現字符串逆序 ∣9.10.2 調試技巧 9.11 元類(MetaClass) ∣9.11.1 Class 的實現原理 ∣9.11.2 元類的介紹
▇ 第10 章 系統調度——實現高并發的處理任務 ★ 本章教學視頻說明 10.1 進程與線程 10.2 線程 ∣10.2.1 線程的創建及原理 ∣10.2.2 互斥鎖 ∣10.2.3 實例31:使用信號量來同步多線程間的順序關系 ∣10.2.4 實例32:實現基于事件機制的消息隊列 ∣10.2.5 實例33:使用條件鎖同步多線程中的生產者與消費者關系 ∣10.2.6 實例34:創建定時器觸發程序,在屏幕上輸出消息 ∣10.2.7 實例35:使用線程池提升運行效率 ∣10.2.8 需要創建多少個線程才算合理 10.3 進程 ∣10.3.1 實例36:創建多進程的程序 ∣10.3.2 多進程與多線程的區別 10.4 協程 ∣10.4.1 協程的相關概念及實現步驟 ∣10.4.2 實例37:使用協程實現“任務提交”與“結果接收” 10.5 應該選擇線程,還是協程 10.6 實例38:使用協程批量修改文件擴展名
---------------第4 篇 商業實戰--------------- ▇ 第11 章 爬蟲實戰(實例39):批量采集股票數據,并保存到Excel 中 11.1 爬取股票代碼 ∣11.1.1 找到目標網站 ∣11.1.2 打開調試窗口,查看網頁代碼 ∣11.1.3 在網頁源碼中找到目標元素 ∣11.1.4 分析目標源代碼,找出規律 ∣11.1.5 編寫代碼抓取股票代碼 ∣11.1.6 運行代碼,顯示結果 11.2 爬取股票內容 ∣11.2.1 編寫代碼抓取批量內容 ∣11.2.2 運行代碼顯示結果 11.3 爬蟲項目的其他技術
▇ 第12 章 自動化實戰(實例40):讀取Excel 數據文件,并用可視化分析 12.1 使用Pandas 讀取Excel 文件,并用Matplotlib 生成大盤走勢圖 12.2 使用Pandas 處理數據并繪制成圖 ∣12.2.1 使用Pandas 處理數據 ∣12.2.2 繪制直方圖和折線圖 12.3 自動化數據處理的其他技術
▇ 第13 章 機器學習實戰(實例41):從一組看似混亂的數據中找出y?2x 的規律 .8 13.1 準備數據 13.2 訓練模型并實現可視化 ∣13.2.1 訓練模型 ∣13.2.2 利用模型進行預測 ∣13.2.3 了解線性回歸模型的內部原理 ∣13.2.4 將模型可視化 13.3 評估模型 ∣13.3.1 評估模型的基本思路 ∣13.3.2 用代碼實現模型評估 13.4 保存模型,應用模型 13.5 機器學習的方向
▇ 第14 章 人工智能實戰(實例42):基于人臉識別的“來訪登記系統” 14.1 安裝案例所依賴的模塊 14.2 安裝及使用dlib 模塊 14.3 安裝及使用face_recognition 模塊 14.4 安裝及使用opencv 模塊 14.5 安裝及使用yagmail 模塊 14.6 詳細設計 ∣14.6.1 需求描述 ∣14.6.2 定義系統的輸入和輸出 ∣14.6.3 系統規則及約束 ∣14.6.4 結構體設計 ∣14.6.5 軟件的主體架構圖 ∣14.6.6 軟件的主體流程介紹 14.7 編碼實現 ∣14.7.1 導入模塊 ∣14.7.2 定義結構體 ∣14.7.3 實現發送郵件函數 ∣14.7.4 實現郵件內容生成函數 ∣14.7.5 實現過濾并保存來訪記錄的函數 ∣14.7.6 實現定時器處理函數 ∣14.7.7 在主線程中啟動定時器線程 ∣14.7.8 實現并調用函數載入人臉庫 ∣14.7.9 在主循環里調用攝像頭,并進行人臉識別 14.8 運行程序 14.9 下一步對系統的改進 附錄A 內置函數 |
序: |