Python極客實驗室 |程式設計師的奇想計畫 第二版

    用15個別出心裁的專案重拾程式設計的樂趣!運用numpy、matplotlib、Pillow等程式庫,寫出生成藝術、音樂、真實世界模擬與硬體互動程式,跳出基礎教學窠臼,激發你的好奇心與極客魂。

    收集中
    US$21.28

    內容簡介


    來自各界程式設計師與媒體的熱烈好評
    玩到停不下來的極客實驗報告出爐

    「每位Python程式設計師的藏書都應該包含這本書!」
    —Full Circle Magazine

    「如果你想熟練地運用Python做一些巧妙的事情,這本書就是最好的專案選集了,你無法找到比這更實用的說明來了解這個語言的運作方式。」
    —Network World

    「《Python極客實驗室》的目標讀者是希望進一步提升Python技能和知識的程式設計師。這本書在解釋所有相關細節方面做得很好,確保讀者能清楚地理解正在發生的事情。」
    —InfoQ

    「這本書擁有絕佳的專案選集,適合對科學感興趣的程式設計師、對程式設計感興趣的科學愛好者,以及介於兩者之間的每一個人。」
    —Al Sweigart,《Python自動化的樂趣》的作者

    「這是那種難得的程式設計書籍,讀起來很有趣,同時適合中級或進階的Python程式設計師。我認為即使是新手也應該試一試……這本書從頭到尾都很令人享受。」
    —Karthikeyan Chellappa, Goodreads書評

    「本書充滿娛樂性和有趣的想法……一點也不像典型的程式設計書籍。這本書專為尋求樂趣的程式設計愛好者而寫。千萬不要錯過!」
    —F. Howard, Amazon書評

    ----------------------------------------------------------

    ✨ 重拾程式設計的樂趣,開啟你的Python奇想實驗 ‍♂️

    透過《Python極客實驗室》別出心裁的15個專案,將程式碼化為實體創作並駕馭Python的威能,拓展你的程式設計視野、激發好奇心,並提升程式設計技能。

    這本書會帶你跳出程式基礎教育的窠臼,引導你運用Python搭配諸如numpy、matplotlib和 Pillow等常見程式庫,編寫生成藝術作品、音樂、模擬真實世界現象並與硬體互動的程式。

    我們為這本書新增了五個全新專案:
    ✔繪製碎形(fractals)
    ✔將Conway的Game of Life帶入三維空間
    ✔並使用Raspberry Pi和Python製作樂器
    ✔物聯網(IoT)花園監視器
    ✔以機器學習驅動的語音辨識系統

    完成本書專案後,你將能:
    運用參數方程式和turtle模組,雕琢出類似萬花尺(Spirograph)的精巧設計。
    合成撥弦聲,創造屬於你的電子音樂。
    將影像轉化為ASCII藝術、相片拼貼,以及令人驚豔的立體圖。
    構築富有趣味性的細胞自動機(cellular automata)和模擬鳥類群動行為。
    探索3D繪圖領域,從基本的圖形描繪到MRI掃描資料的視覺化。
    ⚡ 利用Raspberry Pi打造隨音樂舞動閃爍的雷射光影秀。

    無論你是經驗老道的開發者,還是渴望親手實驗的初學者,都能在《Python極客實驗室》中找到讓程式設計重新變得好玩的理由。

    作者介紹


    關於作者
    Mahesh Venkitachalam 是一位擁有20多年經驗的電腦圖學和嵌入式系統顧問,同時也是以發展創新開源硬體聞名的公司 Electronut Labs 的創辦人。他有一個關於程式設計和電子產品的部落格 https://electronut.in。

    關於技術審閱者
    Eric Mortenson擁有 University of Wisconsin–Madison的數學學士和博士學位。他曾在Pennsylvania State University、University of Queensland以及Max Planck Institute for Mathematics從事研究和教學工作。他目前是St. Petersburg State University的數學和電腦科學副教授。

    Xander Soldaat曾是 LEGO MINDSTORMS 的 MINDSTORMS Community Partner。在成為全職軟體開發人員之前,他曾是IT基礎設施架構師和工程師,擁有18年的相關工作經驗。最近,他又回到了他的Linux根源,在Red Hat擔任OpenShift Cloud Success Architect。業餘時間,他喜歡擺弄機器人、3D列印和自製的復古電腦。

    目錄


    致謝
    簡介
    本書適合哪些人閱讀?
    本書涵蓋些什麼?
    第二版有哪些新內容?
    為何選擇Python?
    本書中的程式碼


    【PARTI 暖身】

    Chapter01 Koch雪花
    運作方式
    需求
    程式碼
    執行雪花程式碼
    總結
    實驗!

    Chapter02 萬花尺
    運作方式
    需求
    程式碼
    執行萬花尺動畫
    總結
    實驗!
    完整程式碼

    【PARTII 模擬生命】

    Chapter03 Conway的生命遊戲
    運作方式
    需求
    程式碼
    執行生命遊戲的模擬
    總結
    實驗!
    完整程式碼

    Chapter04 使用Karplus-Strong演算法的泛音
    運作方式
    需求
    程式碼
    執行撥絃模擬
    總結
    實驗!
    完整程式碼

    Chapter05 成群的仿鳥(Boids)
    運作方式
    需求
    程式碼
    執行Boids模擬
    總結
    實驗!
    完整程式碼

    【PARTIII 操縱影像的樂趣】

    Chapter06 ASCII藝術
    運作方式
    需求
    程式碼
    執行ASCII藝術產生器
    總結
    實驗!
    完整程式碼

    Chapter07 相片拼貼
    運作方式
    需求
    程式碼
    執行相片拼貼產生器
    總結
    實驗!
    完整程式碼

    Chapter08 立體圖
    運作方式
    需求
    程式碼
    執行立體圖產生器
    總結
    實驗!
    完整程式碼


    【PARTIV 進入3D世界】

    Chapter09 了解OpenGL
    OpenGL的運作方式
    需求
    程式碼
    執行OpenGL應用程式
    總結
    實驗!
    完整程式碼

    Chapter10 環面上的Conway生命遊戲
    運作方式
    需求
    程式碼
    執行3D的生命遊戲模擬
    總結
    實驗!
    完整的環面描繪程式碼
    完整的生命遊戲模擬程式碼
    完整的攝影機鏡頭程式碼
    完整的RenderWindow程式碼

    Chapter11 容積描繪
    運作方式
    需求
    程式碼
    執行程式
    總結
    實驗!
    完整的3D材質程式碼
    完整的光線生成程式碼
    完整的容積光線投射程式碼
    完整的2D切片程式碼
    主要檔案的完整程式碼

    【PARTV 駭入硬體】

    Chapter12 Raspberry Pi Pico上的Karplus-Strong演算法
    運作方式
    需求
    程式碼
    執行Pico程式碼
    執行程式
    總結
    實驗!
    完整程式碼

    Chapter13 使用Raspberry Pi實現雷射音樂視覺效果
    運作方式
    需求
    程式碼
    執行雷射顯示器
    總結
    實驗!
    完整程式碼

    Chapter14 IoT花園
    運作方式
    需求
    程式碼
    執行IoT花園
    總結
    實驗!
    完整的CircuitPython程式碼
    完整的BLE掃描器程式碼
    完整的Python Web伺服器程式碼
    完整的主程式碼

    Chapter15 Raspberry Pi上的音訊機器學習
    機器學習概述
    運作方式
    需求
    程式碼
    執行語音辨識系統
    總結
    實驗!
    完整程式碼

    Appendix A 安裝Python
    安裝本書專案的原始碼
    安裝Python和Python模組

    Appendix B Raspberry Pi設定
    設定軟體
    測試連線
    透過SSH登入你的Pi
    安裝Python模組
    使用Visual Studio Code遠端作業

    索引

    章節目錄

    1-1封面
    1-2書名頁
    1-3目錄
    1-4致謝
    1-5簡介
    1-6本書適合哪些人閱讀?
    1-7本書涵蓋些什麼?
    1-8第二版有哪些新內容?
    1-9為何選擇 Python?
    1-10本書中的程式碼
    1-11Part I 暖身
    1-121
    1-13Koch 雪花
    1-14運作方式
    1-15使用遞迴
    1-16計算出雪花
    1-17使用 turtle 進行繪製
    1-18需求
    1-19程式碼
    1-20計算點的位置
    1-21進行遞迴
    1-22繪製雪片
    1-23撰寫 main() 函式
    1-24執行雪花程式碼
    1-25總結
    1-26實驗!
    1-27完整程式碼
    1-282
    1-29萬花尺
    1-30運作方式
    1-31了解參數方程式
    1-32使用 turtle 模組繪製曲線
    1-33需求
    1-34程式碼
    1-35繪製繁花曲線
    1-36協調動畫
    1-37儲存曲線
    1-38剖析命令列引數並進行初始化
    1-39執行萬花尺動畫
    1-40總結
    1-41實驗!
    1-42完整程式碼
    1-43Part II 模擬生命
    1-443
    1-45Conway的生命遊戲
    1-46運作方式
    1-47需求
    1-48程式碼
    1-49表示網格
    1-50設定初始條件
    1-51強制施加邊界條件
    1-52實作規則
    1-53發送命令列引數給程式
    1-54初始化模擬
    1-55執行生命遊戲的模擬
    1-56總結
    1-57實驗!
    1-58完整程式碼
    1-594
    1-60使用 Karplus-Strong 演算法的泛音
    1-61運作方式
    1-62模擬
    1-63WAV 檔案格式
    1-64小調五聲音階
    1-65需求
    1-66程式碼
    1-67使用 deque 實作環狀緩衝區
    1-68實作 Karplus-Strong 演算法
    1-69寫入 WAV 檔案
    1-70使用 pyaudio 播放 WAV 檔案
    1-71建立音符並剖析引數
    1-72執行撥絃模擬
    1-73總結
    1-74實驗!
    1-75完整程式碼
    1-765
    1-77成群的仿鳥(Boids)
    1-78運作方式
    1-79需求
    1-80程式碼
    1-81初始化模擬
    1-82設定邊界條件
    1-83繪製仿鳥
    1-84套用仿鳥的規則
    1-85影響模擬走向
    1-86逐步推進模擬
    1-87剖析引數並實體化仿鳥
    1-88執行 Boids 模擬
    1-89總結
    1-90實驗!
    1-91完整程式碼
    1-92Part III 操縱影像的樂趣
    1-936
    1-94ASCII 藝術
    1-95運作方式
    1-96需求
    1-97程式碼
    1-98定義灰階等級和網格
    1-99計算平均亮度
    1-100從影像產生 ASCII 內容
    1-101建立命令列選項
    1-102把 ASCII 藝術字串寫入文字檔案
    1-103執行 ASCII 藝術產生器
    1-104總結
    1-105實驗!
    1-106完整程式碼
    1-1077
    1-108相片拼貼
    1-109運作方式
    1-110分割目標影像
    1-111計算顏色值的平均
    1-112比對影像
    1-113需求
    1-114程式碼
    1-115讀入輸入影像
    1-116計算影像的平均顏色值
    1-117將目標影像(Target Image)分割成網格
    1-118尋找區塊的最佳匹配
    1-119建立影像網格
    1-120建立相片拼貼
    1-121編寫 main() 函式
    1-122執行相片拼貼產生器
    1-123總結
    1-124實驗!
    1-125完整程式碼
    1-1268
    1-127立體圖
    1-128運作方式
    1-129感知立體圖中的深度
    1-130使用深度圖
    1-131像素移位
    1-132需求
    1-133程式碼
    1-134用隨機圓建立區塊
    1-135重複一個給定的區塊
    1-136建構立體圖
    1-137提供命令列選項
    1-138執行立體圖產生器
    1-139總結
    1-140實驗!
    1-141完整程式碼
    1-142Part IV 進入 3D 世界
    1-1439
    1-144了解 OpenGL
    1-145OpenGL 的運作方式
    1-146幾何基元
    1-1473D 變換
    1-148著色器
    1-149頂點緩衝區
    1-150材質貼圖
    1-151OpenGL 情境
    1-152需求
    1-153程式碼
    1-154RenderWindow 類別
    1-155Scene 類別
    1-156工具函式
    1-157執行 OpenGL 應用程式
    1-158總結
    1-159實驗!
    1-160完整程式碼
    1-16110
    1-162環面上的 Conway 生命遊戲
    1-163運作方式
    1-164計算頂點
    1-165計算照明的法線
    1-166描繪
    1-167為三角形條帶上色
    1-168控制攝影機鏡頭
    1-169將網格映射到環面上
    1-170需求
    1-171程式碼
    1-172描繪環面
    1-173實作生命遊戲的模擬
    1-174建立攝影機鏡頭
    1-175把所有東西結合起來
    1-176執行 3D 的生命遊戲模擬
    1-177總結
    1-178實驗!
    1-179完整的環面描繪程式碼
    1-180完整的生命遊戲模擬程式碼
    1-181完整的攝影機鏡頭程式碼
    1-182完整的 RenderWindow 程式碼
    1-18311
    1-184容積描繪
    1-185運作方式
    1-186資料格式
    1-187光線生成
    1-188OpenGL 視窗
    1-189需求
    1-190程式碼
    1-191產生 3D 材質
    1-192產生光線
    1-193實作光線投射演算法
    1-194顯示 2D 切片
    1-195把程式碼整合在一起
    1-196執行程式
    1-197總結
    1-198實驗!
    1-199完整的 3D 材質程式碼
    1-200完整的光線生成程式碼
    1-201完整的容積光線投射程式碼
    1-202完整的 2D 切片程式碼
    1-203主要檔案的完整程式碼
    1-204Part V 駭入硬體
    1-20512
    1-206Raspberry Pi Pico 上的 Karplus-Strong 演算法
    1-207運作方式
    1-208輸入與輸出
    1-209I2S 協定
    1-210需求
    1-211硬體配置
    1-212MicroPython 設定
    1-213程式碼
    1-214設定
    1-215產生音符
    1-216播放音符
    1-217撰寫 main() 函式
    1-218執行 Pico 程式碼
    1-219總結
    1-220實驗!
    1-221完整程式碼
    1-22213
    1-223使用 Raspberry Pi 實現雷射音樂視覺效果
    1-224運作方式
    1-225使用雷射產生圖案
    1-226使用 Fast Fourier Transform 分析音訊
    1-227需求
    1-228設定 Raspberry Pi
    1-229建構雷射顯示器
    1-230硬體連接方式
    1-231程式碼
    1-232設定
    1-233控制硬體
    1-234處理音訊
    1-235測試馬達
    1-236將全部整合在一起
    1-237執行雷射顯示器
    1-238總結
    1-239實驗!
    1-240完整程式碼
    1-24114
    1-242IoT 花園
    1-243運作方式
    1-244Bluetooth Low Energy
    1-245Bottle Web 框架
    1-246SQLite 資料庫
    1-247需求
    1-248設定 Raspberry Pi
    1-249設定 CircuitPython
    1-250設定 If This Then That
    1-251程式碼
    1-252CircuitPython 程式碼
    1-253BLE 掃描器程式碼
    1-254Web 伺服器程式碼
    1-255主程式檔案
    1-256執行 IoT 花園
    1-257總結
    1-258實驗!
    1-259完整的 CircuitPython 程式碼
    1-260完整的 BLE 掃描器程式碼
    1-261完整的 Python Web 伺服器程式碼
    1-262完整的主程式碼
    1-26315
    1-264Raspberry Pi 上的音訊機器學習
    1-265機器學習概述
    1-266運作方式
    1-267時頻譜
    1-268在 Raspberry Pi 上進行推論
    1-269需求
    1-270程式碼
    1-271在 Google Colab 中訓練模型
    1-272在 Raspberry Pi 上使用模型
    1-273執行語音辨識系統
    1-274總結
    1-275實驗!
    1-276完整程式碼
    1-277A
    1-278安裝 Python
    1-279安裝本書專案的原始碼
    1-280安裝 Python 和 Python 模組
    1-281Windows
    1-282macOS
    1-283Linux
    1-284B
    1-285Raspberry Pi 設定
    1-286設定軟體
    1-287測試連線
    1-288透過 SSH 登入你的 Pi
    1-289安裝 Python 模組
    1-290使用 Visual Studio Code 遠端作業
    1-291索引
    1-292版權頁
    1-293封底

    常見問答

    您可以透過手機、平板或是電腦登入 HiSKIO 平台,在【我的學習】>【我的書籍】頁面,選擇想看的電子書。

    猜你喜歡

    用戶評價

    | 收集中

    銷售方案