官术网_书友最值得收藏!

本書不僅涵蓋了高級的Python語法,還討論了如何使用命令行和專業開發者所用的命令行工具,諸如代碼格式化工具、代碼檢查工具、版本控制工具。我講解了編寫可讀代碼和整潔代碼的原則,并介紹了一些用來幫助你了解這些原則在真實項目中如何應用的編程項目。盡管本書并非計算機科學教材,但我仍解釋了大算法分析和面向對象設計。

沒有哪本書可以讓人一躍成為專業的軟件開發者,但希望本書能夠提高你的知識水平,幫助你朝著這個目標更進一步。我按照一些主題做了介紹,否則你可能只能從艱難的實踐中一點一點地發現這些內容。讀完本書,你將具備更扎實的基礎,為迎接新的挑戰做好準備。

雖然我推薦按照順序閱讀本書,但你也可根據興趣跳到任何一個章節進行閱讀。

第一部分 起步

第1章介紹如何有效發問和獨立查找答案,也將教你如何閱讀錯誤提示信息以及在網上尋求幫助的禮儀。

第2章講解如何使用命令行跳轉,以及如何配置開發環境和PATH環境變量。

第二部分 最佳實踐、工具和技巧

第3章講解PEP 8風格指南以及如何格式化代碼以提升可讀性。你將學習如何使用Black代碼格式化工具將這個過程自動化。

第4章講解如何命名變量和函數以提升代碼的可讀性。

第5章列舉幾個表明代碼中存在潛在bug的危險信號。

第6章詳細介紹什么是Python風格的代碼以及編寫地道Python代碼的幾種方式。

第7章解釋編程領域常用的術語,特別是經常被混淆的術語。

第8章介紹Python語言中常見的混淆現象和bug的由來,并說明解決之法和避免出現問題的編程策略。

第9章涉及你可能注意不到的有關Python的幾件怪事,如字符串駐留和反重力復活節彩蛋。通過探究為何某些數據類型和運算符會導致意外行為,你將更深入地理解Python的工作原理。

第10章詳細說明如何組織函數以達到實用性和可讀性的極致。你將了解*和**參數語法、函數大小的權衡方法以及函數式編程技術(比如lambda函數)。

第11章涉及程序中非代碼部分的重要性及其對可維護性的影響。內容包括編寫注釋和文檔字符串的頻率,如何使其信息翔實有用。此外,這一章還將討論類型提示以及如何使用靜態分析器(例如Mypy)檢測bug。

第12章介紹如何使用Git版本控制工具記錄源代碼的變更歷史、恢復工作歷史版本和追蹤bug首次出現的時間,以及如何使用Cookiecutter工具組織項目文件結構。

第13章解釋如何使用timeit和cProfile模塊客觀地衡量代碼速度,還涉及大算法分析及如何利用它預測代碼性能隨著處理數據量的增加而減慢的變化趨勢。

第14章將這部分所學的技術應用到兩個命令行游戲中:漢諾塔(一種益智游戲,規則是將圓盤從一座塔移動到另一座塔)以及經典游戲四子棋(兩人制)。

第三部分 面向對象的Python

第15章明確面向對象編程(OOP)的作用,因為它經常被誤解。許多開發人員在自己的代碼中濫用OOP而不自知,以為別人都是這么做的,而實際上這會導致代碼復雜度過高。這一章將教你如何編寫類,更重要的是,還將給出應該和不應該使用類的原因。

第16章解釋類的繼承及其對代碼復用的功用。

第17章介紹面向對象設計中Python獨有的功能,如特性、特殊方法和運算符重載。

主站蜘蛛池模板: 同江市| 左贡县| 九台市| 西林县| 迭部县| 西乌| 石狮市| 永定县| 逊克县| 洞头县| 辽阳市| 莎车县| 镇沅| 比如县| 嘉荫县| 农安县| 潼南县| 阳东县| 乌审旗| 梁山县| 图片| 独山县| 盘山县| 宣恩县| 米脂县| 太湖县| 鹤壁市| 南部县| 屏东市| 平武县| 大名县| 禹州市| 松潘县| 汽车| 穆棱市| 文成县| 泰州市| 金坛市| 金华市| 周宁县| 普兰店市|