- Python編程實戰
- (美)李·沃恩
- 1782字
- 2021-07-09 10:37:24
本書內容
當瀏覽本書的項目時,你會了解一些非常有價值的Python庫和模塊,也會學到一些快捷鍵的使用方法、常用的內置函數以及一些重要的技術,還能從實踐中學到程序設計、測試以及優化的方法。此外,你還會將正在做的事情與實際的應用程序開發、數據庫設計和解決實際問題聯系起來。
拉夫爾·沃爾多·艾默生說過:“沒有熱情就無法建立偉業。”學習的過程也是如此。本書的最終目的是激發你的想象力,并引導你開發自己感興趣的項目。若一開始你覺得開發自己的項目過于雄心勃勃,那也不用擔心。你只需要勤奮一點,經常上網搜索資料并學習,就能創造奇跡,這比你想象中更快。
下面是本書各章內容的簡要描述。一般來說,你不必按照順序閱讀它們,但越是在前面的項目,往往會越簡單,當新的概念、模塊和技術首次出現時,本書會詳細地解釋它們。
第1章 虛假姓名生成器:這是一個熱身項目。本章先介紹Python的PEP 8標準、PEP 257標準、Pylint模塊和pydocstyle模塊。這些標準和模塊會幫助你分析代碼是否符合編程規范。本章最后會給出一個奇怪姓名生成器程序,它的設計靈感來源于美國網絡電視節目《靈異妙探》。
第2章 尋找回文:本章教你對代碼進行性能分析。與此同時,你還會學到拯救掙扎在痛苦邊緣的DC漫畫中的女巫薩塔娜的方法。通過在線字典來尋找神奇的回文串,你可以幫助薩塔娜打敗時間反轉惡鬼。
第3章 尋找易位詞:編寫一個幫助用戶創建他們輸入名字的易位詞的程序。例如,用“Clint Eastwood”生成“old west action”;然后,利用語言篩查器幫助湯姆· 馬沃洛· 里德爾(Tom Marvolo Riddle)找到他名字的易位詞——“I am Lord Voldemort”。
第4章 破解美國內戰密碼:首先,研究并破解歷史上經典的軍事密碼——聯邦路由密碼;然后,讓雙方的間諜使用鋸齒形柵欄密碼發送和譯碼秘密信息。
第5章 編寫英國內戰密碼:通過破解來自英國內戰時期的空密碼,獲取明文隱含的深層次信息;之后,設計和實現更復雜的空密碼以完成拯救蘇格蘭女王瑪麗的任務。
第6章 隱寫術:利用隱形電子墨水幫助企業間諜欺騙夏洛克·福爾摩斯的父親,從而讓間諜逃過偵察。本章的內容改編自美國哥倫比亞廣播公司的電視劇《基本演繹法》。
第7章 用遺傳算法培育大鼠:受達爾文進化論的啟發,本章利用遺傳算法模擬培育一種體型如雌性牛頭獒一樣的超級大鼠;然后,幫助詹姆斯·邦德在一眨眼的時間里破解密碼有100億種組合的保險柜。
第8章 統計俳句音節數:本章教你使用計算機統計英語單詞的音節數,是下一章寫作日本詩歌或俳句的先導部分。
第9章 用馬爾可夫鏈分析技術編寫俳句:本章將第8章的音節計數模塊與馬爾可夫鏈算法進行組合,通過分析含有數百個古今俳句的語料庫,實現讓計算機編寫俳句的目標。
第10章 我們孤獨嗎——探索費米悖論:利用德雷克方程、銀河系的大小以及假設的可探測“輻射氣泡”大小,研究外星無線電信號缺失的原因;學習和使用流行的Tkinter模塊,構建星系和地球自身的無線電氣泡圖。
第11章 蒙蒂·霍爾問題:首先論證蒙蒂·霍爾問題,然后使用面向對象編程語言構建一個有趣的、帶有圖形界面接口的蒙蒂霍爾游戲。
第12章 儲蓄安全:使用蒙特卡羅金融模型為你自己(或你的父母)安排安穩的退休生活。
第13章 模擬外星火山:利用pygame模塊模擬木星衛星艾奧上的火山爆發場景。
第14章 用探測器繪制火星地圖:本章的目標是構建一款基于重力的街機游戲。當衛星燃料沒有耗盡,也沒有在大氣層中燃燒時,讓衛星的運行軌道變成一個圓形的測繪軌道。通過顯示衛星的關鍵參數,跟蹤其運行軌跡,為火星添加陰影圖示,并讓火星緩慢繞其軸旋轉,以此來學習軌道力學知識。
第15章 用行星疊加技術完善天體攝影圖片:利用Python的圖像庫,對從視頻中獲取的低質量圖像進行光學疊加,從而顯現木星的云帶和大紅斑效果;利用Python內置的os模塊和shutil模塊,學習解決文件、文件夾和目錄路徑等問題。
本書每章的末尾都至少包含一個實踐項目或挑戰項目。在本書的配套資源或附錄中,你可以找到每個實踐項目的答案。但這并不意味著這個答案就是最好的——你可能會想出一個更好的答案,所以在此之前不要偷看答案!
然而,對于挑戰項目,你只能靠自己。1519年,當科爾特斯入侵墨西哥時,他將帆船燒掉,讓追隨他的士兵意識到他們沒有回頭路,于是他們不得不以堅定的決心面對阿茲特克人。因此,短語“burn your boat”(破釜沉舟)成為全心全意或全身心投入一項任務的代名詞。這也是你面對挑戰項目時應有的態度,如果你這樣做了,那么你從這些練習中學到的東西可能會比從書中其他部分學到的東西都要多!
- 數據庫程序員面試筆試真題與解析
- Learning Real-time Processing with Spark Streaming
- Unity 2020 Mobile Game Development
- Java編程指南:基礎知識、類庫應用及案例設計
- Apache Hive Essentials
- Python數據分析(第2版)
- Mastering Backbone.js
- C專家編程
- Odoo 10 Implementation Cookbook
- Python+Office:輕松實現Python辦公自動化
- Python GUI Programming Cookbook(Second Edition)
- Using Yocto Project with BeagleBone Black
- 網絡綜合布線與組網實戰指南
- Java EE 7 Development with WildFly
- Getting Started with RethinkDB