- Python編程輕松進階
- (美)阿爾·斯維加特
- 1206字
- 2022-08-01 11:40:39
關于本書
本書不僅涵蓋了高級的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獨有的功能,如特性、特殊方法和運算符重載。
- Instant 960 Grid System
- 數據結構簡明教程(第2版)微課版
- Learning AWS Lumberyard Game Development
- Scala程序員面試算法寶典
- 從零開始學Linux編程
- UNIX Linux程序設計教程
- PrimeFaces Blueprints
- 面向對象程序設計及C++(第3版)
- SQL Server 2012 數據庫應用教程(第3版)
- 金融商業數據分析:基于Python和SAS
- Getting Started with Windows Server Security
- Kotlin入門與實戰
- Opa Application Development
- IBM Cognos TM1 Cookbook
- 嵌入式Linux C語言程序設計基礎教程(微課版)