博客來
誠品
天瓏
momo
三民書局
讀冊生活
旗標蝦皮商城
本書相關資源網頁: http://www.flag.com.tw/bk/t/f9749 別再用 C/Java 邏輯來寫 Python 程式了! Python 軟體基金會主席 親自指點、引領入門 教您學 Python, 更讓您懂 Python 用真正 Python 思維寫出流利的 Pythonic 程式碼 Python 是目前的當紅程式語言, 更是進入 AI 機器學習必備的基礎知識, 學習 Python 已經蔚為風潮。但是大部分書籍、文件都只是教語法, 洋洋灑灑一大篇語法說明, 學了之後, 真的能懂 Python?知道怎麼寫 Python 嗎? 本書不只是說明語法, 更告訴您 Python 與其他程式語言的不同之處, 以及這些特點背後的原因, 讓您真的懂 Python、用 Python!
翻譯書都看不懂?新手免害怕, 詳細的解說+流暢的翻譯, 讓你也看得懂、學得會, 領你進門更帶你修練成老手 本書為 Python 軟體基金會主席親自撰寫的最新版 Python 經典, 中文版由施威銘研究室監修, 書中針對原書進行大量補充, 並適當添加註解, 幫助讀者能更加理解內容。 其他書看不到的內容, 只存在於老手間的獨門心法, 就讓這本書一一為您詳細說明。例如: ● Python 全域變數不是真正全域? ● Python 函式的區域變數是由賦值與否來決定的? ● 為何 Python 函式都不檢查參數值, 先用了出錯再處理? ● Python 物件沒有真正的私有屬性, 資訊都不用封裝隱藏了嗎? ● 鴨子型別是什麼?我實在不懂這跟鴨子到底有什麼關係? ● 為什麼 Python 函式可以一次 return 多個傳回值? ● Pythonic 這個詞好像很厲害, 是什麼意思? ● Python 的 list[n:m] 切片為何要有頭無尾? ● 為什麼 Python 要求程式每行結尾不要超過 80 個字? ● Python 的型別與類別是同義詞? 本書相關資源網頁如下, 請登錄下載範例程式及 Bonus: http://www.flag.com.tw/bk/t/f9749 也歡迎加入本書社群, 和技術者們直接對話! 「從做中學 AI」粉絲專頁 https://www.facebook.com/flaglearningbydoing/
第1篇 初始篇第1章 關於Python1.1 Python簡介1.2 Python的優勢1.3 Python表現不佳的地方1.4 為什麼要學習 Python 3?第2章 開發環境安裝與設定2.1 安裝Python 開發環境2.2 設定Python 開發環境第3章 執行與測試Python程式第2篇 基礎篇第4章 絕對的基礎4.1 縮排及區塊結構●老手帶路:Python 的縮排原則4.2 註解4.3 變數及其設定●老手帶路:Python中的變數:是水桶還是標籤?4.4 運算式4.5 字串4.6 數字●老手帶路:Python 的除法特性●老手帶路:避免使用 from import *4.7 None值4.8 取得使用者的輸入4.9 內建算符4.10 基本Python風格與名稱命名慣例第5章 基本資料結構:list、tuple、set5.1 list類似陣列5.2 list的索引與切片●老手帶路:為什麼Python的切片索引要有頭無尾?5.3 修改list5.4 list的排序5.5 其他常用的list操作5.6 多層list和深層副本5.7 tuple●老手帶路:自動打包與自動解包的功用●老手帶路:您寫的Python程式夠Pythonic嗎?5.8 set第6章 字串6.1 字串為字元序列(sequence)6.2 基本的字串操作6.3 特殊字元和轉義字元●老手帶路:程式敘述過長的缺點與長字串的建立6.4 字串的method6.5 從物件轉換成字串6.6 使用format() method來格式化字串●老手帶路:使用格式化字串的優點6.7 以 % 算符來格式化字串6.8 以 f-strings來格式化字串6.9 bytes物件6.10 使用print() 控制字串輸出第7章 字典7.1 什麼是字典?7.2 其他字典操作7.3 字數統計7.4 什麼型別可以當作鍵來使用?7.5 稀疏矩陣7.6 以字典作為快取7.7 字典的效率第8章 流程控制8.1 while 迴圈●老手帶路:while-else的使用場合8.2 if-elif-else 判斷式●老手帶路:使用簡潔易懂的單行if條件運算式8.3 for 迴圈8.4 用生成式快速建立新的list與字典●老手帶路:用索引刪除list元素的隱形Bug8.5 敘述、區塊、和縮排8.6 布林值與運算式的真假運算●老手帶路:用Short-circuit Evaluation代替if判斷式8.7 寫一個簡單的程式來分析文字檔第9章 函式9.1 基本函式定義9.2 函式的參數定義與引數傳遞9.3 用可變 (mutable)物件作為引數時要小心●老手帶路:用可變物件做為函式參數預設值的問題9.4 local、global、nonlocal變數●老手帶路:小心區域變數未賦值先使用9.5 將變數參照到函式●老手帶路:將函式當成引數來傳遞與其適用場合9.6 lambda 匿名函式●老手帶路:使用 lambda匿名程式的優缺點9.7 產生器(走訪器)函式9.8 修飾器(Decorator)●老手帶路:修飾器(decorator)的用途第10章 模組與變數可視範圍10.1 什麼是模組?10.2 第一個模組10.3 import 敘述的三種形式10.4 模組搜尋路徑10.5 模組中的私有名稱10.6 函式庫與第三方模組10.7 Python命名空間和變數可視範圍●老手帶路:Python全域變數的可視範圍不涵蓋全程式●老手帶路:從模組import變數容易發生的問題●老手帶路:在主程式與不同模組之間共享變數資料第11章 Python程式檔11.1 將主程式放入主控函式11.2 在Linux/UNIX讓Python程式檔變成執行檔11.3 macOS上的Python程式檔11.4 Windows中Python程式檔的啟動方式11.5 程式與模組11.6 發佈Python應用程式第12章 使用檔案系統12.1 os 和 os.path 與 pathlib之比較12.2 路徑和路徑名稱12.3 取得檔案相關的資訊12.4 更多檔案系統操作12.5 用os.walk()處理所有子目錄中的所有檔案第13章 檔案讀寫13.1 開啟檔案與file物件13.2 關閉檔案13.3 以寫入模式或其他模式開啟檔案13.4 讀寫文字檔和二進位檔案13.5 用pathlib讀取與寫入13.6 標準輸入/輸出與重新導向13.7 用struct模組讀取結構化二進位資料13.8 將物件序列化後保存到檔案13.9 Shelve 物件第14章 例外處理14.1 什麼是例外●老手帶路:LBYL(事先檢查避免出錯)與EAFP(先做了出錯再處理)14.2 Python的例外機制●老手帶路:EAFP錯誤處理風格的優缺點●老手帶路:用例外處理與Guard Clauses讓程式流程更清楚14.3 使用with資源管理器第3篇 進階篇第15章 類別與物件導向程式設計15.1 類別Class15.2 物件變數與__init__特殊method15.3 物件方法method (物件的函式)15.4 類別變數class variables15.5 靜態方法static method與15.6 類別的繼承inheritance15.7 類別變數與物件變數的繼承15.8 Python類別基礎的重點複習15.9 私有變數與私有方法●老手帶路:有別於資訊隱藏傳統! Python對於物件內部資料的公開風格15.10 以 @property 修飾器來實作更靈活的物件變數15.11 物件的變數視野與命名空間15.12 物件的記憶體回收機制15.13 多重繼承第16章 常規表達式16.1 什麼是常規表達式16.2 具有特殊字元的常規表達式16.3 常規表達式與原始字串16.4 從字串中提取符合樣式的文字16.5 用常規表達式搜尋取代字串第17章 物件的型別與特殊method17.1 取得物件的型別17.2 比較與檢查型別17.3 取得物件所屬類別與類別繼承結構17.4 鴨子型別(Duck Typing)●老手帶路:鴨子型別在實際應用上的彈性17.5 何謂物件的特殊method17.6 用__getitem__自訂可走訪與17.7 用__setitem__自訂可用索引賦值的17.8 賦予自訂物件更多類似list的功能17.9 繼承內建型別來產生新的型別17.10 使用特殊method的時機第18章 套件18.1 什麼是套件18.2 套件的運作方式18.3 套件的具體範例18.4 __all__ 屬性18.5 套件的正確使用方式第19章 使用Python 函式庫19.1 「內建電池」:標準函式庫19.2 用安裝檔新增Python函式庫19.3 使用pip 安裝Python函式庫19.4 virtualenv虛擬環境19.5 PyPI(Python套件索引)第4篇 實戰篇第20章 基本的檔案整理20.1 問題:永無止境的資料檔案流20.2 場景:每天都會收到的產品資訊檔20.3 更有組織的檔案整理方式20.4 節省儲存空間: 壓縮和修剪第21章 處理純文字、CSV、Excel資料檔21.1 資料的提取、轉換、載入(ETL)21.2 處理純文字檔21.3 Excel 試算表檔案21.4 資料清理21.5 寫入資料檔第22章 網路下載與解析資料22.1 使用Python下載檔案22.2 透過API取得資料22.3 解析JSON與XML格式22.4 解析網站HTML資料第23章 存取資料庫23.1 關聯式資料庫23.2 SQLite:使用sqlite3資料庫●老手帶路:防止SQL Injection攻擊23.3 使用MySQL、PostgreSQL和23.4 使用ORM讓資料庫更容易處理23.5 NoSQL 資料庫23.6 用Redis 儲存Key-Value資料庫23.7 用MongoDB儲存文件資料庫第24章 資料分析24.1 用於資料分析的Python工具24.2 Jupyter Notebook24.3 Python和pandas24.4 用pandas進行資料ETL24.5 資料彙總與操弄24.6 繪製資料進行視覺化24.7 什麼情況不適合使用pandas第25章 實例應用:繪製氣溫長期變化圖25.1 挑選合適的氣象站25.2 下載資料繪製氣溫變化圖BONUS PM2.5 空氣品質警報通知:簡訊+LINE (中文版獨家/旗標特製)
https://www.flag.com.tw/bk/st/F9749