此書籍沒有詳細資訊。
還沒有人留下心得,快來搶頭香!
為您推薦
類似書籍推薦給您
【簡介】 全新第三版,以更流暢的方式帶你掌握語法基礎、現代工具與AI模型,讓你在真實開發情境運用 Python更快、更精準。 • 更直覺的現代化Python語法與套件 • 新增AI模型與效能最佳化主題 • 網頁、資料庫、網路應用一次整合 • 掌握清晰易懂、好維護的高品質程式風格 • 強化套件活用力,加速開發效率 ---------------------------------------- 「Bill Lubanovic在這本精采絕倫的作品中,先為你奠定深厚穩健的程式設計基礎,再教你如何以豐富強大的Python工具箱解決真實世界的問題。透過本書,你一定能學會運用Python來解決問題。」 ——Loïc Pefferkorn,開放原始碼系統工程師 「本書涵蓋大量實用的Python程式和第三方套件,以慧黠的對話風格來呈現有趣、充實的內容。」 ——Nathan Stocks,Agile Perception 「本書的可貴之處在於,Python如何在當今飛速變動的世界中,與AI、資料庫、網頁伺服器等關鍵技術領域接軌及互動。」 ——Patrick Viafore,《Robust Python》作者(O’Reilly, 2021) 程式設計有時非常複雜,甚至令人彷彿陷入五里迷霧一般。這就是Python特別流行的原因——它是最易學、易懂,也最容易撰寫出成果的程式語言之一。 《精通Python》已經是初學者與中階開發者的重要資源了。全新的第三版加入AI模型操作、效能最佳化等新主題,帶你以現代開發者的視角探索Python,從語言細節、運算工具到專案實作都完整涵蓋。內容清晰、引人入勝,並以專案導向搭配大量實用範例,讓你能立即拓展技術版圖,從網頁開發、資料庫到網路應用全面提升實力。 • 瞭解Python資料結構與操作 • 寫出正確且易讀的Python程式碼 • 閱讀別人的Python程式碼,因為開發者經常這麼做 • 接手網頁開發或資料庫開發等主力工作 • 動手體驗最新AI模型與新興技術【目錄】 第一部分 城堡 第1章 簡介 第2章 型態與變數 第3章 數字 第4章 字串 第5章 bytes與bytearray 第6章 if與match 第7章 for與while 第8章 tuple與串列 第9章 字典與集合 第10章 函式 第11章 物件 第12章 模組與套件 第二部分 Python實務 第13章 開發環境 第14章 型態提示與文件 第15章 測試 第16章 Debug 第三部分 任務 第17章 文字資料 第18章 二進位資料 第19章 日期與時間 第20章 檔案 第21章 時間裡的資料:並行 第22章 空間裡的資料:網路 第23章 盒子裡的資料:持久保存 第24章 We 第25章 資料科學 第26章 AI 第27章 效能 附錄A 習題解答
類似書籍推薦給您
【簡介】 Python被譽為最易上手的程式語言,但你真的是用Python的腦袋寫Python嗎? 身為Python的開發者,想要「寫得更好」,還想知道「為什麼這樣寫比較好?」 《Effective Python 第三版》延續前兩版廣受好評的風格,集結125個經過實戰驗證的開發技巧,全面涵蓋Python 3.11最新語法與標準函式庫。從基礎語言機制、函式與類別設計,到協同程式、型別提示與效能優化,每一項建議都清楚說明「為什麼這樣寫比較好」,幫助你避開常見雷區、寫出更簡潔、可維護、具備Python風格的程式碼。 條目式設計,查找方便、精練實用 專為Python 3.11打造,掌握語言最新演進 每個條目皆含範例、反例與最佳實踐 作者為Google資深工程師,實戰經驗豐富 不僅告訴你「怎麼寫」,更像是經驗豐富的前輩手把手教你「為什麼這樣寫更好」,帶你從語言使用者晉升為真正精通Python的開發者! ----------------------------------------------------------------------- 精通Python程式設計技術,掌握125個具體可行的最佳實務做法,寫出更加高效、易讀、易維護的程式碼 Python是一門功能多元且強大的語言,但想真正發揮它的潛力,光是熟悉語法還不夠。Effective Python中文版 第三版,是你掌握Python獨特優勢、避開隱藏陷阱的全方位指南。本書奠基於廣受好評的第二版,將最佳實務做法從90項擴增至125項,這些都是撰寫高品質 Python 程式碼的關鍵基石。 作者Brett Slatkin汲取其多年在Google的深厚實務經驗,為初階與資深的Python開發者提供了清晰、簡潔且實用的建議。書中每一個做法都深入剖析了「Pythonic」的程式設計之道,幫助你理解如何寫出不僅正確、有效,更能兼具優雅與易維護性的程式碼。無論你是在建構Web應用程式、分析資料、撰寫自動化指令稿,或是訓練AI模型,本書都將賦予你必要的技能,讓你能運用Python創造非凡的影響力。 主 要特點包括 ■ 內容升級:新增35個全新做法,擴增至125條具體可行的準則。 ■ 對應新版:涵蓋至Python3.13新版功能的語法與實務趨勢。 ■ 新增章節:剖析如何建置兼具穩健性與高效能的程式。 ■ 進階主題:深入探討如何建立C擴充模組,以及與原生共享程式庫的介接。 ■ 實際範例:切合真實情境的程式碼範例,清楚對照每一項建議背後的最佳實務做法。 Brett Slatkin 是Google CTO辦公室的首席軟體工程師,專注於新興技術領域。他是Google Surveys的共同創辦人,也是Google Cloud第一款產品(App Engine)的主要推手,並共同創建了PubSubHubbub協定——這些專案全都使用Python完成。他投入專業Python開發逾19年,擁有哥倫比亞大學電腦工程學士學位。 【目錄】 第1章 Pythonic 思維 做法 01 了解你使用的是哪個版本的 Python 做法 02 遵循 PEP 8 風格指南 做法 03 永遠不要預期 Python 會在編譯時期偵測錯誤 做法 04 撰寫輔助函式而非複雜的運算式 做法 05 比起透過索引,請優先選用多重指定的拆分 做法 06 始終用括弧圍住單元素的元組 做法 07 考慮使用條件運算式來處理簡單的行內邏輯 做法 08 使用指定運算式來防止重複 做法 09 考慮在流程控制中使用 match 進行解構;如果 if 述句就足夠,則避免使用 第2章 字串和切片 做法 10 了解 bytes 與 str 之間的差異 做法 11 優先選用內插的 F-String,而非 C 式格式字串和 str.format 做法 12 列印物件時,要知道 repr 和 str 之間的差異 做法 13 偏好明確的字串串接,而非隱含的串接,特別是在串列中 做法 14 知道如何切割序列 做法 15 避免在單一運算式中同時使用跨步(Striding)和切片 做法 16 優先選用捕捉全部的拆分,而非切片 第3章 迴圈與迭代器 做法 17 優先選用 enumerate,而不是 range 做法 18 使用 zip 平行處理迭代器 做法 19 避免 for 和 while 迴圈之後的 else 區塊 做法 20 永遠別在迴圈結束後使用 for 的迴圈變數 做法 21 迭代引數時要做好防禦 做法 22 絕對不要在迭代容器時修改它們;改用複本或快取 做法 23 將迭代器傳遞給 any 和 all,以實現有效率的短路邏輯 做法 24 考慮使用 itertools 來處理迭代器和產生器 第4章 字典 做法 25 依賴字典插入順序時,請務必謹慎 做法 26 優先選用 get 而非 in 和 KeyError 來處理缺少的字典鍵值 做法 27 偏好使用 defaultdict 而非 setdefault 來處理內部狀態中缺少的項目 做法 28 了解如何使用 __missing__ 建構依存於鍵值的預設值 做法 29 使用類別取代深層內嵌的字典、串列和元組 第5章 函式 做法 30 知道函式引數是可以變動的 做法 31 回傳專用的結果物件,而非要求函式呼叫者拆分三個以上的變數 做法 32 偏好提出例外,而非回傳 None 做法 33 了解 Closure 如何與變數範疇和 nonlocal 互動 做法 34 使用數目可變的位置引數減少視覺雜訊 做法 35 藉由關鍵字引數提供可選行為 做法 36 使用 None 和 Docstring 來指定動態預設引數 做法 37 使用僅限關鍵字引數和僅限位置引數來確保程式碼清楚易懂 做法 38 使用 functools.wraps 定義函式裝飾器 做法 39 對於黏合用的函式,請優先選用 functools.partial 而非 lambda 運算式 第6章 概括式和產生器 做法 40 使用概括式取代 map 和 filter 做法 41 避免在概括式中使用超過兩個控制子運算式 做法 42 利用指定運算式減少概括式中的重複 做法 43 考慮使用產生器而非回傳串列 做法 44 考慮使用產生器運算式來處理大型串列概括式 做法 45 用 yield from 組合多個產生器 做法 46 將迭代器作為引數傳遞給產生器,而非呼叫 send 方法 做法 47 使用類別管理迭代式狀態變遷,而非產生器的 throw 方法 第7章 類別與介面 做法 48 對於簡單的介面,請接受函式而非類別 做法 49 優先採用物件導向的多型機制,而非帶有 isinstance 檢查的函式 做法 50 考慮使用 functools.singledispatch 進行函式型風格的程式設計,取代物件導向的多型 做法 51 定義輕量化類別時,請優先選用 dataclasses 做法 52 使用 @classmethod 的多型機制以泛型的方式建構物件 做法 53 使用 super 初始化父類別 做法 54 考慮使用 Mix-in 類別來組合功能 做法 55 優先選用公開屬性而非私有屬性 做法 56 偏好使用 dataclasses 來建立不可變的物件 做法 57 繼承 collections.abc 的類別以建立自訂的容器型別 第8章 元類別與屬性 做法 58 使用普通的屬性,而非設值器和取值器方法 做法 59 考慮使用 @property,而非重構屬性 做法 60 使用描述器來實現可重複使用的 @property 方法 做法 61 使用 __getattr__、__getattribute__ 和 __setattr__ 實現惰性屬性 做法 62 使用 __init_subclass__ 驗證子類別 做法 63 使用 __init_subclass__ 註冊類別的存在 做法 64 使用 __set_name__ 來注釋類別屬性 做法 65 考慮以類別主體定義順序來確立屬性之間的關係 做法 66 對於可組合的類別擴充,請優先選用類別裝飾器而非元類別 第9章 共時性和平行處理 做法 67 使用 subprocess 來管理子行程 做法 68 針對會造成阻斷的 I/O 使用執行緒;避免用於平行處理 做法 69 使用 Lock 來預防執行緒之間的資料競態 做法 70 使用 Queue 來協調執行緒之間的工作 做法 71 知道何時需要共時性 做法 72 避免為視需要增加的扇出創建新的 Thread 實體 做法 73 了解將 Queue 用於共時性會需要怎樣的重構 做法 74 非得將執行緒用於共時性時,考慮使用 ThreadPoolExecutor 做法 75 藉由協程實現高度共時的 I/O 做法 76 知道如何將分緒的 I/O(Threaded I/O)移植到 asyncio 做法 77 混合執行緒與協程,以簡化轉換至 asyncio 的工作 做法 78 利用對 async 友善的工作者執行緒最大化 asyncio 事件迴圈的回應性 做法 79 考慮使用 concurrent.futures 實現真正的平行處理 第10章 穩健性 做法 80 善用 try/except/else/finally 中的每個區塊 做法 81 使用 assert 斷言內部假設並以 raise 提出未符合預期之處 做法 82 考慮使用 contextlib 與 with 述句以達成可重複使用的 try/finally 行為 做法 83 務必讓 try 區塊盡可能簡短 做法 84 小心會消失的例外變數 做法 85 捕捉 Exception 類別時務必小心 做法 86 了解 Exception 和 BaseException 之間的差異 做法 87 使用 traceback 強化例外回報 做法 88 考慮明確地鏈串例外以釐清回溯追蹤 做法 89 始終將資源(Resources)傳入產生器中,並讓呼叫者在外部清理它們 做法 90 絕不要將 __debug__ 設為 False 做法 91 除非你正在建置開發人員工具,否則應避免使用 exec 和 eval 第11章 效能 做法 92 最佳化前,請先進行效能評測 做法 93 使用 timeit 微型基準化分析來最佳化關鍵效能程式碼 做法 94 了解何時應改用其他程式語言來取代 Python,並知道該怎麼做 做法 95 考慮使用 ctypes 與原生程式庫快速整合 做法 96 考慮使用擴充模組來最佳化效能和開發者體驗 做法 97 仰賴預先編譯的位元組碼與檔案系統快取來改善啟動時間 做法 98 使用動態匯入來惰性載入模組以減少啟動時間 做法 99 考慮透過 memoryview 和 bytearray 與 bytes 進行零拷貝互動 第12章 資料結構與演算法 做法 100 使用 key 參數來以複雜的條件進行排序 做法 101 了解 sort 與 sorted 之間的差異 做法 102 考慮使用 bisect 搜尋排序好的序列 做法 103 優先選用 deque 作為 Producer–Consumer 佇列 做法 104 知道如何使用 heapq 建立優先序佇列 做法 105 針對本地時間,請使用 datetime 而非 time 做法 106 當精確度至關重要時,請使用 decimal 做法 107 透過 copyreg 讓 pickle 序列化保有可維護性 第13章 測試與除錯 做法 108 在 TestCase 的子類別中驗證相關行為 做法 109 偏好整合測試而非單元測試 做法 110 使用 setUp、tearDown、setUpModule 和 tearDownModule 將測試彼此隔離 做法 111 使用模擬功能來測試具有複雜依存關係的程式碼 做法 112 將依存關係封裝起來以利模擬與測試 做法 113 使用 assertAlmostEqual 控制浮點測試中的精確度 做法 114 考慮使用 pdb 進行互動式除錯 做法 115 使用 tracemalloc 來了解記憶體用量(Memory Usage)與洩漏(Leaks)情況 第14章 協作 做法 116 知道在哪裡可以找到社群建置的模組 做法 117 使用虛擬環境以達成獨立且可重現的依存關係 做法 118 為每個函式、類別和模組撰寫 Docstring 做法 119 使用套件來組織模組並提供穩定的 API 做法 120 考慮使用模組範疇程式碼來設定部署環境 做法 121 定義一個根例外以隔離呼叫端與 API 做法 122 知道如何打破循環依存關係 做法 123 考慮使用 warnings 來重構及遷移用法 做法 124 考慮透過 typing 進行靜態分析以消除臭蟲 做法 125 捆裝 Python 程式時,優先選擇開源專案而非 zipimport 與 zipapp
類似書籍推薦給您
【簡介】 「這本書正是我當年提出『資料科學家』這個職稱時,所希望能擁有的一本書。如果您希望投身資料科學/工程、人工智慧,或機器學習領域,就該從這裡開始。」 ── DJ Patil 博士,美國首任首席資料科學家 身為一位有志成為資料科學家的讀者,能夠理解各類組織為何仰賴資料來做出關鍵決策──無論是公司在設計網站、還是市政府在改善公共服務,或者是科學家在致力於阻止疾病擴散。而您也希望具備將雜亂資料整理為可行洞見的能力。我們將這整個過程稱為「資料科學生命週期」:也就是從資料的收集、整理、分析,到導出結論的完整流程。 本書是第一本涵蓋程式設計與統計兩大基礎技能、並貫穿整個資料科學生命週期的書籍。本書的對象包括希望成為資料科學家的人、與資料科學家共事的專業人士,以及希望跨越「技術/非技術」界線的資料分析師。只要具備基本的 Python 程式設計知識,便可學習如何透過業界標準工具(如 pandas)來處理資料: .將感興趣的問題精煉為可透過資料探究的研究問題 .執行資料蒐集,其中可能涉及文字處理、網頁爬蟲等技術 .透過資料清理、探索與視覺化,萃取出有價值的洞見 .學會使用建模來描述資料特性 .推廣研究結果,進行超出資料本身的推論 【目錄】 前言 【第一部分 資料科學生命週期】 第一章 資料科學生命週期 生命週期的各個階段 生命週期的範例 總結 第二章 問題與資料範疇 大數據與新機會 研究母體、抽樣架構與樣本 儀器與操作程序 自然現象的量測 準確度 總結 第三章 模擬與資料設計 抽籤模型 範例:模擬選舉民調的偏誤與變異性 範例:模擬疫苗的隨機試驗 範例:空氣品質測量 總結 第四章 以摘要統計量建構模型 常數模型 最小化損失 總結 第五章 個案研究:為什麼我的公車總是拖班? 問題與範疇 資料整理 探索公車時間 建立等車時間模型 總結 【第二部分】 矩形資料 第六章 使用pandas操作資料框架 子集合選取(Subsetting) 匯總 合併 轉換 資料框架與其他資料表達法有何不同? 總結 第七章 使用SQL操作關係 子集合選取(Subsetting) 匯總 合併 轉換與共通表格運算式 總結 【第三部分】 理解資料 第八章 整理檔案 資料來源範例 檔案格式 檔案編碼 檔案大小 殼層與命令行工具 表格形狀與粒度 總結 第九章 整理資料框架 範例:整理冒納羅亞觀測站的CO2測量資料 品質檢查 缺漏的值與紀錄 轉換與時間戳記 修改結構 範例:處理餐廳安全違規資料 總結 第十章 探索性資料分析 特徵類型 觀察分布的重點 在關係中應注意的事項 多變數情境下的比較 探索準則 範例:房屋售價 總結 第十一章 資料視覺化 選擇合適的刻度以揭示結構 資料的平滑化與匯總 促進有意義的比較 融入資料設計 加入情境資訊 使用plotly繪製圖表 其他視覺化工具 總結 第十二章 案例研究:空氣品質測量有多準確? 問題、設計與範疇 尋找共址感測器 整理與清洗 AQS感測器資料 整理PurpleAir感測器資料 探索PurpleAir與AQS測量值 建立校準PurpleAir測量值之模型 總結 【第四部分】 其他資料來源 第十三章 處理文字資料 文字與任務的範例 字串處理 正規表達式 文字分析 總結 第十四章 資料交換 NetCDF資料 JSON資料 HTTP REST XML、HTML與XPath 總結 【第五部分】 線性建模 第十五章 線性模型 簡單線性模型 範例:空氣品質的簡單線性模型 擬合簡單線性模型 多元線性模型 擬合多元線性模型 範例:哪裡是機會之地? 數值型測量值之特徵工程 類別型測量值的特徵工程 總結 第十六章 模型選擇 過度擬合 訓練-測試切分 交叉驗證 正則化 模型偏誤與變異性 總結 第十七章 推論與預測的理論基礎 分布:母體、經驗、抽樣 假設檢定的基本概念 以自助法推論 信賴區間的基本概念 預測區間的基本概念 用於推論與預測的機率理論 總結 第十八章 案例研究:如何幫驢子秤體重? 驢子研究的問題與範圍 資料整理與轉換 探索 建立驢子體重的模型 總結 【第六部分】 分類 第十九章 分類 範例:風災倒木 建模與分類 對比例(與機率)建模 邏輯斯模型的損失函數 從機率到分類 總結 第二十章 數值最佳化 梯度下降法基礎 最小化Huber損失 凸形且可微分的損失函數 梯度下降法的變體 總結 第二十一章 個案研究:偵測假新聞 問題與範疇 取得與整理資料 探索資料 建模 總結 延伸資料 資料來源 索引
類似書籍推薦給您
【簡介】 Python 運算思維 Google Colab x Gemini AI 零基礎 + 高效率 學「程式設計」 ★★★★★【國內第1本Gemini AI輔助學習Python】★★★★★ ★★★★★【Google Colab x Gemini AI助攻】★★★★★ ★★★★★【Gemini API設計智慧客服系統】★★★★★ 本書特色如下: ☆ Gemini AI程式除錯(Debug)、註解、重構和重寫程式的應用。 ★ 完整的解說機器學習數學原理和演算法。 ☆ 用Gemini API設計「智慧客服系統」。 ★ 提供「Google Colab的ipynb檔案」與「一般的py檔案」兩種程式。 本書用約700個一般實例與程式實例,同時使用ChatGPT輔助學習,講解了下列知識: ★ 科技與人工智慧知識融入內容 ☆ 完整Python語法 ★ 串列、元組、字典、集合 ☆ 經緯度計算城市間的距離 ★ 數學方法計算圓週率 ☆ 生成式generator ★ 函數與類別設計 ☆ 設計與使用自己的模組、使用外部模組 ★ 中文Windows預設cp950與國際通用utf-8格式的檔案讀寫 ☆ 程式除錯與異常處理 ★ 正則表達式 ☆ 影像處理 ★ Numpy ☆ CSV文件 ★ 2D ~ 3D的Matplotlib中英文靜態與動態圖表繪製 ☆ 網路爬蟲 ★ 人工智慧破冰之旅 ☆ 迴歸分析 ★ 機器學習使用scikit-learn入門 ☆ 使用Gemini API設計「智慧客服中心」 讀者最值得閱讀本書的十大理由 ①從零開始的運算思維訓練 第 1 章從 Computational Thinking、Python 起源、語言演化一路講解,讓初學者打好電腦科學與邏輯基礎。 ②完整且紮實的 Python 語法入門到進階 從變數、資料型態、字串、串列、迴圈、集合、字典,到函數、類別、模組,內容涵蓋所有核心語法,是最適合初學者的系統化教材。 ③每章皆搭配大量實例,學得會、用得到 例如 BMI、房貸、經緯度距離、凱薩密碼、單字統計、影像處理、成績系統、夏令營、動畫等真實專案,全面強化讀者實作能力。 ④Gemini AI 系列深度整合,全書都有 AI 助教陪學 幾乎每章都有「Gemini AI 輔助程式設計」單元,協助: ◎產生程式碼 ◎除錯 ◎重構程式 ◎解釋程式邏輯 本書是傳統 Python 教學 x AI 學習流程的最佳融合。 ⑤完整示範 Google Colab 雲端 Python 開發 附錄 C 教你:建立雲端資料夾、編輯區操作、檔案管理、執行 Colab Notebook、下載結果等,完全不用本機安裝。 ⑥帶領讀者從資料分析一路邁向 AI 應用 後半部內容從 CSV 處理、Excel 整合、詞雲、圖表、爬蟲、資料可視化,一直到: ◎迴歸分析 ◎機器學習(KNN、Decision Tree、Random Forest) ◎資料預測 是一本「從基礎程式 → AI 入門」的完整學習路線。 ⑦圖像處理、影像編輯深入易懂 Pillow 影像處理章節(裁切、合成、濾鏡、繪圖、中文字型處理),是 Python 初學者最需要但書籍中最少見的完整範例。 ⑧以專案為核心設計,讀完就能做作品 全書 20+ 專題: ◎星座下載爬蟲 ◎CIA 情報員訊息替換 ◎雞兔同籠 ◎動態動畫(sin 波、移動球) ◎幾何資料的物件導向應用 全部都是讀者能直接使用、修改、創作的實務案例。 ⑨提供大量附錄與教學資源 附錄 A ~ G 包含: ◎Python 安裝 ◎模組安裝 ◎20 章練習題(是非與選擇) ◎RGB 色碼表 ◎ ASCII 表 ◎ 專有名詞索引 讓讀者查詢、複習、考證無縫銜接。 ⑩一本書讓你掌握:Python + AI + Colab + 資料分析 + 影像處理 + 機器學習 本書橫跨初學者到進階者需要的所有內容,特別適合: ◎ 程式新手 ◎ AI 時代想補強程式能力的讀者 ◎ 大專學生 ◎ 職場工程師/資料分析師入門 ◎ 想用 AI 快速學 Python 的所有人 這不是一本「只有語法」的教科書,而是一套完整的學習系統。 【目錄】 第1 章 基本觀念 1-1 運算思維(Computational Thinking) 1-2 認識Python 1-3 Python 的起源 1-4 Python 語言發展史 1-5 變數 - 靜態語言與動態語言 1-6 系統的安裝與執行 1-7 程式註解(comments) 1-8 Python 彩蛋(Easter Eggs) 1-9 Gemini AI 輔助程式設計 第2 章 認識變數與基本數學運算 2-1 用Python 做計算 2-2 認識變數(variable) 2-3 認識程式的意義 2-4 認識註解的意義 2-5 變數的命名原則 2-6 基本數學運算 2-7 指派運算子 2-8 Python 的多重指定(Multiple Assignment) . 2-11 2-9 Python 的列連接(Line Continuation) 2-10 專題:複利計算/ 計算圓面積與圓周長 2-11 Gemini AI 輔助程式設計 第3 章 Python 的基本資料型態 3-1 type( ) 函數 3-2 數值資料型態 3-3 布林值資料型態 3-4 字串資料型態 3-5 字串與字元 3-6 專題:地球到月球時間計算/ 計算座標軸2 點之間距離 3-7 Gemini AI 輔助程式設計 第4 章 基本輸入與輸出 4-1 Python 的輔助說明help( ) 4-2 格式化輸出資料使用print( ) 4-3 資料輸入input( ) 4-4 處理字串的數學運算eval( ) 4-5 列出所有內建函數dir( ) 4-6 專題:溫度轉換/ 房貸問題/ 經緯度距離/ 雞兔同籠 4-7 ChatGPT 輔助學習 第5 章 程式的流程控制 5-1 關係運算子 5-2 邏輯運算子 5-3 if 敘述 5-4 if ⋯ else 敘述 5-5 if ⋯ elif ⋯ else 敘述 5-6 Python 的 match-case 流程控制 5-7 專題:BMI/ 火箭升空/ 閏年 5-8 Gemini AI 輔助程式設計 第6 章 串列(List) 6-1 認識串列(list) 6-2 Python 物件導向觀念與方法 6-3 串列元素是字串的常用方法 6-4 增加與刪除串列元素 6-5 串列的排序 6-6 進階串列操作 6-7 串列內含串列 6-8 串列的賦值與切片拷貝 6-9 再談字串 6-10 in 和not in 運算式 6-11 enumerate 物件 6-12 專題:大型串列/ 認識凱薩密碼 6-13 Gemini AI 輔助程式設計 第7 章 迴圈設計 7-1 基本for 迴圈 7-2 range( ) 函數 7-3 進階的for 迴圈應用 7-4 while 迴圈 7-5 enumerate 物件使用for 迴圈解析 7-6 專題:成績系統/ 圓周率/ 國王的麥粒/ 電影院劃位 7-7 Gemini AI 輔助程式設計 7-8 Gemini 輔助程式除錯(Debug) 7-9 Gemini 重構程式 第8 章 元組(Tuple) 8-1 元組的定義 8-2 讀取元組元素 8-3 遍歷所有元組元素 8-4 元組切片(tuple slices) 8-5 方法與函數 8-6 串列與元組資料互換 8-7 其它常用的元組方法 8-8 enumerate 物件使用在元組 8-9 使用zip( ) 打包多個物件 8-10 製作大型的串列– 元素是元組 8-11 元組的功能 8-12 專題:認識元組/ 基礎統計應用 8-13 Gemini AI 輔助程式設計 第9 章 字典(Dict) 9-1 字典基本操作 9-2 遍歷字典 9-3 match-case 與字典的結合 9-4 字典內鍵的值是串列或字典 9-5 字典常用的函數和方法 9-6 製作大型的字典資料 9-7 專題:單字出現次數/ 字典生成式/ 星座/ 凱薩密碼 9-8 Gemini AI 輔助程式設計 第10 章 集合(Set) 10-1 建立集合 10-2 集合的操作 10-3 適用集合的方法 10-4 適用集合的基本函數操作 10-5 專題:夏令營程式/ 程式效率/ 集合生成式/ 雞尾酒實例 10-6 Gemini AI 輔助程式設計 第11 章 函數設計 11-1 Python 函數基本觀念 11-2 函數的參數設計 11-3 函數傳回值 11-4 呼叫函數時參數是串列 11-5 傳遞任意數量的參數 11-6 遞迴式函數設計recursive 11-7 區域變數與全域變數 11-8 匿名函數lambda 11-9 pass 與函數 11-10 專題:單字次數/ 質數/Fibonacci/ 歐幾里德演算法 11-11 Gemini AI 輔助程式設計 第12 章 類別– 物件導向的程式設計 12-1 類別的定義與使用 12-2 類別的訪問權限 – 封裝(encapsulation) 12-3 類別的繼承 12-4 多型(polymorphism) 12-5 多重繼承 12-6 專題:幾何資料的應用 12-7 Gemini AI 輔助程式設計 第13 章 設計與應用模組 13-1 將自建的函數儲存在模組中 13-2 應用自己建立的函數模組 13-3 將自建的類別儲存在模組內 13-4 應用自己建立的類別模組 13-5 隨機數random 模組 13-6 時間time 模組 13-7 系統sys 模組 13-8 keyword 模組 13-9 日期calendar 模組 13-10 專題:文件加密 13-11 Gemini AI 輔助程式設計 第14 章 檔案讀取與寫入 14-1 開啟檔案open( ) 14-2 讀取檔案 14-3 寫入檔案 14-4 讀取和寫入二進位檔案 14-5 認識編碼格式encoding 14-6 Gemini AI 輔助程式設計 第15 章 程式除錯與異常處理 15-1 程式異常 15-2 設計多組異常處理程序 15-3 丟出異常 - raise 15-4 程式除錯的典故 15-5 Gemini AI 輔助程式設計 第16 章 正則表達式Regular Expression 16-1 使用Python 硬功夫搜尋文字 16-2 正則表達式的基礎 16-3 更多搜尋比對模式 16-4 正則表達式的特殊字元 16-5 專題:搶救CIA 情報員 - sub( ) 方法 16-6 Gemini AI 輔助程式設計 第17 章 用Python 處理影像檔案 17-1 認識Pillow 模組的RGBA 17-2 Pillow 模組的盒子元組(Box tuple) 17-3 影像的基本操作 17-4 影像的編輯 17-5 裁切、複製與影像合成 17-6 影像濾鏡 17-7 在影像內繪製圖案 17-8 在影像內填寫文字 17-9 Gemini AI 輔助程式設計 第18 章 詞雲設計 18-1 Python Shell 環境 - 安裝wordcloud 18-2 我的第一個詞雲程式 18-3 建立含中文字詞雲結果失敗 18-4 建立含中文字的詞雲 18-5 進一步認識jieba 模組的分詞 18-6 建立含圖片背景的詞雲 18-7 Gemini AI 輔助程式設計 第19 章 使用Python 處理CSV 文件 19-1 建立一個CSV 文件 19-2 用記事本開啟CSV 檔案 19-3 csv 模組 19-4 讀取CSV 檔案 19-5 寫入CSV 檔案 19-6 Python 與Microsoft Excel 19-7 Gemini AI 輔助程式設計 第20 章 數據圖表的設計 20-1 認識matplotlib.ipynbplot 模組的主要函數 20-2 20-2 繪製簡單的折線圖plot( ) 20-3 繪製散點圖scatter( ) 20-4 Numpy 模組基礎知識 20-5 色彩映射color mapping 20-6 繪製多個圖表 20-7 建立畫布與子圖表物件 20-8 長條圖的製作bar( ) 20-9 圓餅圖的製作pie( ) 20-10 設計2D 動畫 20-11 專題:數學表達式/ 輸出文字/ 圖表註解 20-12 Gemini AI 輔助程式設計 第21 章 網路爬蟲自動化資料蒐集與整合 21-1 下載網頁資訊使用requests 模組 21-2 檢視網頁原始檔 21-3 解析網頁使用BeautifulSoup 模組 21-4 網路爬蟲實戰 – 12 星座圖片下載 第22 章 人工智慧破冰之旅 22-1 將畢氏定理應用在性向測試 22-2 電影分類 第23 章 迴歸分析基礎觀念 23-1 相關係數(Correlation Coefficient) 23-2 建立線性迴歸模型與數據預測 23-3 二次函數的迴歸模型 23-4 Gemini AI 輔助程式設計 第24 章 機器學習使用scikit-learn 入門 24-1 網路購物數據調查 24-2 使用scikit-learn 模組計算判定係數 24-3 預測未來值 24-4 人工智慧、機器學習、深度學習 24-5 認識scikit-learn 數據模組datasets 24-6 監督學習 – 線性迴歸 24-7 scikit-learn 產生數據 24-8 常見的監督學習分類器 24-9 無監督學習 – 群集分析 24-10 Gemini AI 輔助程式設計 第25 章 設計 Gemini 版的智慧客服系統 25-1 系統概念與設計架構 25-2 取得 Gemini API Key 25-3 我的第1 個Gemini 金鑰程式 25-4 Gemini 智慧問答小幫手 25-5 設計智慧客服系統 25-6 Gemini AI 模型比較 附錄C 使用Google Colab 雲端開發環境 C-1 進入Google 雲端 C-2 建立雲端資料夾 C-3 進入Google Colab 環境 C-4 編寫程式 C-5 掌握Google Colab 檔案操作 C-6 檔案/ 下載 C-7 認識「.ipynb」的本質 C-8 認識編輯區 C-9 筆記本內有多個儲存格 C-10 Gemini AI 輔助Python 程式設計 附錄D 指令、函數、方法與專有名詞索引 附錄A: 安裝與執行Python( 電子書):5 頁 附錄B: 安裝第三方模組( 電子書):4 頁 附錄C: 使用Google Colab 雲端開發環境 附錄D: 指令、函數與專有名詞索引 附錄E: RGB 色彩表( 電子書):5 頁 附錄F: Python 運算思維前20 章是非題與選擇題檔案第5 版( 電子書):36 頁 附錄G: ASCII 碼值表( 電子書):1 頁
類似書籍推薦給您
【簡介】 Python入門經典,結合最新ChatGPT 5,掌握AI時代最關鍵的程式技能 【本書特色】 ▶ 認識 Python 這個簡潔的程式語言,理論與實作並行 ▶ 每個章節有豐富的範例,配合 Python Shell 的互動交談,更能得心應手 ▶ 手把手導引,由函式出發,並學習物件導向的封裝、繼承和多型三大技術 ▶ 課後評量使思考與操作並兼,可追蹤學習成效 ▶ ChatGPT 5介面與特點、ChatGPT AI Python程式範例集、AI小遊戲 【本書簡介】 學習一個程式語言,Python 的簡潔、明瞭能讓初學者快速上手。雖然 Python IDLE 環境很陽春,但有不錯的除錯功能,而附帶的 Visual Studio Code 可以讓我們在學習中擁有意外之喜。簡單的敘述可以在 Python Shell 這個互動交談模式獲得解答。除了 Python 的內建模組,也一起認識第三方套件的詞雲、Pyinstaller。由於 Python 能討論的內容非常豐富,本書僅能就初學者讓大家認識 Python 語言的魅力,透過本書做通盤性認識,全書重要主題如下: • Python 異想世界 • Python 基本語法 • 運算子與條件選擇 • 廻圈控制 • 序列型別和字串 • Tuple 和 List • 字典、集合、函式 • 模組與函式庫 • 物件導向基礎 • 淺談繼承機制 • 異常處理機制 • 資料流與檔案 • GUI 介面 • 繪圖與影像 • ChatGPT與Python雙效合一的應用 期能把握住最嚴謹的態度,輔以最淺白的表達方式,讓每位讀者在期間充滿樂趣,降低閱讀壓力。筆者深信本書能讓初習者在走過 Python 語言學習之旅,拓展思考性,在程式語言世界悠遊自在。 【目錄】 第1章 Python 異想世界 1.1 一起準備 Python 吧 1.1.1 Python 有什麼魅力 1.1.2 安裝 Python 1.1.3 測試 Python 軟體 1.1.4 Python 的應用範圍 1.2 Python 的開發工具 1.2.1 有那些 IDE 軟體? 1.2.2 CPython 有什麼? 1.2.3 Python Shell 1.2.4 IDLE 的環境設定 1.3 使用 Visual Studio Code 1.3.1 下載、安裝 VS Code 1.3.2 啟動 VS Code 1.3.3 VS Code 延伸模組 1.4 Python 撰寫風格 1.4.1 Hello World! 就是這麼簡單 1.4.2 程式的縮排和註解 1.4.3 敘述的分行和合併 1.4.4 程式的輸入和輸出 第2章 Python 基本語法 2.1 變數 2.1.1 識別字的命名規則 2.1.2 保留字和關鍵字 2.1.3 指派變數值 2.2 Python 的數值型別 2.2.1 以 type() 函式回傳型別 2.2.2 整數型別 2.2.3 布林值 2.3 Python 如何處理實數 2.3.1 使用 Float 型別 2.3.2 複數型別 2.3.3 更精確的 Decimal 型別 2.3.4 番外 - 有理數 2.4 數學運算與 math 模組 2.4.1 認識 math 模組 2.4.2 算術運算子 2.4.3 做四則運算 2.4.4 指派運算子 2.5 運算子有優先順序 2.5.1 位元運算子 2.5.2 運算子誰優先? 第3章 運算子與條件選擇 3.1 認識程式語言結構 3.2 單一條件 3.2.1 比較運算子 3.2.2 if 敘述 3.3 雙向選擇 3.3.1 邏輯運算子 3.3.2 if/else 敘述 3.3.3 特殊的三元運算子 3.4 更多選擇 3.4.1 巢狀if 3.4.2 if/elif/else 敘述 3.4.3 match/case 敘述 第4章 廻圈控制 4.1 for 廻圈讓程式轉向 4.1.1 使用for/in 廻圈 4.1.2 range() 函式 4.1.3 巢狀廻圈 4.2 while 廻圈與 random 模組 4.2.1 while 廻圈特色 4.2.2 獲得 while 廻圈執行次數 4.2.3 使用 random 模組 4.3 特殊流程控制 4.3.1 break 敘述 4.3.2 continue 敘述 第5章 序列型別和字串 5.1 序列型別概觀 5.1.1 序列和迭代器 5.1.2 建立序列資料 5.1.3 序列元素操作 5.1.4 與序列有關的函式 5.2 字串與切片 5.2.1 建立字串 5.2.2 脫逸字元 5.2.3 字串如何切片 5.3 字串常用函數 5.3.1 尋訪字串 5.3.2 統計、取代字元 5.3.3 比對字元 5.3.4 字串的分與合 5.3.5 字串的大小寫 5.4 格式化字串 5.4.1 把字串對齊 5.4.2 % 運算子 5.4.3 內建函式 format() 5.4.4 str.format() 方法 第6章 Tuple 與List 6.1 Tuple 不可變 6.1.1 建立 Tuple 6.1.2 讀取 Tuple 元素 6.1.3 Tuple 和 Unpacking 6.1.4 Tuple 做切片運算 6.2 串列 6.2.1 建立、讀取串列 6.2.2 與List 有關的方法 6.2.3 將資料排序 6.2.4 串列生成式 6.3 二維 List 6.3.1 產生矩陣 6.3.2 讀取矩陣 6.3.3 矩陣與串列生成式 6.3.4 不規則矩陣 6.4 串列的複製 6.4.1 串列與淺複製 6.4.2 copy 模組的 copy() 方法 6.4.3 deepcopy() 方法複製物件本身 第7章 字典 7.1 認識映射型別 7.2 建立字典 7.2.1 認識字典 7.2.2 產生字典 7.2.3 讀取字典項目 7.2.4 類別方法 fromkeys() 7.3 字典的異動 7.3.1 新增與修改元素 7.3.2 刪除字典項目 7.3.3 合併字典 7.4 鍵、值相關操作 7.4.1 預防找不到 key 7.4.2 讀取字典 7.4.3 字典生成式 7.5 預設字典和有序字典 7.5.1 預設字典 7.5.2 有序字典 第8章 集合 8.1 建立集合(Sets) 8.1.1 認識雜湊 8.1.2 建立 set 物件 8.1.3 set() 函式產生集合 8.2 集合相關操作 8.2.1 新增、移除元素 8.2.2 集合與數學計算 8.2.3 聯集、交集運算 8.2.4 差集、對等差集運算 8.3 集合相關方法 8.3.1 增強計算 8.3.2 檢測集合 8.3.3 集合生成式 8.3.4 集合frozenset 第9章 函式 9.1 Python 的內建函式 9.1.1 與數值有關的函式 9.1.2 字串的 BIF 9.1.3 序列型別相關函式 9.1.4 其他的 BIF 9.2 函式基本概念 9.2.1 函式基礎 9.2.2 定義函式 9.2.3 呼叫函式 9.2.4 回傳值 9.3 參數基本機制 9.3.1 引數如何傳遞? 9.3.2 位置參數有順序性 9.3.3 預設參數值 9.3.4 關鍵字引數 9.4 可長短的參、引數列 9.4.1 形式參數的 * 星號運算式 9.4.2 ** 運算式與字典合作 9.4.3 * 運算子拆解可迭代物件 9.4.4 ** 運算子拆解字典物件 9.5 更多函式的討論 9.5.1 適用範圍 9.5.2 函式是第一等公民 9.5.3 區域函式與 Closure 9.5.4 Lambda 函式 9.5.5 遞迴 第10章 模組與函式庫 10.1 匯入模組 10.1.1 import/as 敘述 10.1.2 from/import 敘述 10.1.3 名稱空間和 dir() 函式 10.2 自行定義模組 10.2.1 模組路徑 10.2.2 滙入自定模組 10.2.3 屬性__name__ 10.3 取得時間戳 time 模組 10.3.1 取得目前時間 10.3.2 時間結構和格式轉換 10.4 datetime 模組 10.4.1 處理日期 date 類別 10.4.2 time 類別取得時間值 10.4.3 datetime 類別組合日期、時間 10.4.4 timedelta 類別計算時間間隔 10.5 自遠方來的「套件」 10.5.1 有趣的詞雲 10.5.2 封裝程式的Pyinstaller 第11章 認識物件導向 11.1 物件導向概念 11.1.1 物件具有屬性和方法 11.1.2 類別是物件藍圖 11.1.3 抽象化是什麼? 11.2 類別與物件 11.2.1 認識類別和其成員 11.2.2 先建構再初始化物件 11.2.3 設定、檢查物件屬性 11.2.4 處理物件的特殊方法 11.3 類別與裝飾器 11.3.1 類別也有屬性 11.3.2 認識裝飾器 11.3.3 類別裝飾器 11.3.4 類別方法和靜態方法 11.4 重載運算子 11.4.1 重載算術運算子 11.4.2 對重載加法運算子更多了解 11.4.3 重載比較大小的運算子 第12章 淺談繼承機制 12.1 認識繼承 12.1.1 繼承的相關名詞 12.1.2 繼承概念 12.1.3 特化和通化 12.1.4 組合 12.2 繼承機制 12.2.1 產生繼承 12.2.2 多重繼承機制 12.2.3 繼承有順序,搜尋有規則 12.3 子類別覆寫父類別 12.3.1 使用 super() 函式 12.3.2 屬性__base__ 12.3.3 以特性存取屬性 12.4 抽象類別與多型 12.4.1 定義抽象類別 12.4.2 多型 12.4.3 組合 第13章 異常處理機制 13.1 什麼是異常? 13.1.1 程式錯誤 13.1.2 引發異常 13.1.3 內建的 Exception 型別 13.2 異常處理情況 13.2.1 設定捕捉器 13.2.2 Try 敘述究竟是如何運作 13.2.3 try/else 敘述 13.2.4 try/finally 敘述 13.3 以程式丟出異常 13.3.1 raise 敘述引發異常 13.3.2 assert 敘述 13.3.3 使用者自訂例外處理 第14章 資料流與檔案 14.1 認識檔案與目錄 14.1.1 不能不知道的檔案路徑 14.1.2 取得路徑找 os.path 模組 14.2 資料流與io 模組 14.2.1 檔案物件與io 模組 14.2.2 檔案與open() 函式 14.2.3 TextIOBase 類別與檔案處理 14.2.4 檔案指標 14.3 文字檔案的讀、寫 14.3.1 檔案和指定模式 14.3.2 with/as 敘述 14.3.3 讀取文字檔案 14.4 二進位檔案 14.4.1 認識 byte 與 bytearray 14.4.2 讀、寫二進位檔案 14.4.3 struct 模組與二進位資料 14.5 文字檔並非只有文字 14.5.1 淺談文字編碼 14.5.2 CSV 格式 14.5.3 JSON 格式 第15章 GUI 介面 15.1 Python GUI 15.1.1 GUI 相關套件 15.1.2 認識 tkinter 套件 15.1.3 撰寫一個簡單的視窗程式 15.2 版面管理員 15.2.1 Frame 為容器 15.2.2 版面配置 - pack() 方法 15.2.3 grid() 方法以欄、列定位置 15.2.4 以座標定位的place() 方法 15.3 處理文字的元件 15.3.1 Label 15.3.2 文字方塊 Entry 15.3.3 文字區塊 Text 15.3.4 Button 元件 15.4 選取元件 15.4.1 Checkbutton 15.4.2 Radiobutton 15.5 顯示訊息 第16章 繪圖與影像 16.1 以 Turtle 繪圖 16.1.1 使用座標系統 16.1.2 Turtle 畫布與畫筆 16.1.3 塗鴉色彩 16.2 繪製幾何圖案 16.2.1 畫圓形 16.2.2 繪製三角形 16.2.3 繪出多邊形 16.3 認識 Pillow 套件 16.3.1 色彩與透明度 16.3.2 讀取圖片 16.4 圖像的基本操作 16.4.1 重編影像 16.4.2 產生新圖片 16.4.3 繪製圖案、秀出文字 16.6.4 影像的旋轉和翻轉 16.4.5 圖像裁切、合成 第17章 ChatGPT 與Python 程式設計黃金入門課 17.1 認識聊天機器人 17.1.1 聊天機器人的種類 17.2 註冊免費ChatGPT 帳號 17.2.1 解析ChatGPT 5 模型功能選單 17.3 第一次使用ChatGPT 就上手 17.3.1 更換新的機器人 17.3.2 登出ChatGPT 17.4 了解ChatGPT 5 各種使用方案與價格 17.5 初探ChatGPT 5 全新介面 17.5.1 側邊欄 17.5.2 關閉側邊欄/ 開啟側邊欄 17.5.3 搜尋交談 17.5.4 新聊天 17.6 即時搜尋網頁功能 17.7 支援圖像、文件、圖表多模態輸入 17.8 啟動語音模式 17.9 ChatGPT 正確使用訣竅 17.9.1 能記錄對話內容 17.9.2 專業問題可事先安排人物設定腳本 17.9.3 善用英文及Google 翻譯工具 17.9.4 熟悉重要指令 17.9.5 充份利用其他網站的ChatGPT 相關資源 17.10 ChatGPT AI Python 程式範例集 17.10.1 使用Pygame 遊戲套件繪製多媒體圖案 17.10.2 以內建模組及模擬大樂透的開獎程式 17.10.3 建立四個主功能表的視窗應用程式 17.10.4 演算法的應用:寫一支迷宮問題的解決方案 17.4.5 海龜繪圖法繪製兩款精美的圖形 17.11 利用ChatGPT 輕鬆開發AI 小遊戲 17.11.1 請ChatGPT 自我推薦以Python 實作的小遊戲 17.11.2 猜數字遊戲 17.11.3 OX 井字遊戲 17.11.4 猜拳遊戲 17.11.5 牌面比大小遊戲