本書將幫助讀者系統(tǒng)掌握編寫高效、優(yōu)雅的Python代碼的方法,快速成長為一位高水平的Python開發(fā)工程師。
作者是Python編程領(lǐng)域的資深開發(fā)工程師,有多年的Python開發(fā)經(jīng)驗(yàn),本書得到了行業(yè)里15位技術(shù)專家的高度評價(jià)。
為了幫助讀者編寫出高效的Python代碼,本書不僅從源代碼的角度系統(tǒng)地講解了Python的語法,讓讀者能知其然并知其所以然,而且結(jié)合具體的應(yīng)用需求,對并發(fā)編程、性能優(yōu)化、測試與調(diào)試、異常處理、內(nèi)存管理等Python開發(fā)中的高級知識進(jìn)行了詳細(xì)的講解。
為了指導(dǎo)讀者編寫出更優(yōu)雅的Python代碼,本書針對具體問題給出了大量的實(shí)例代碼并給出了編碼風(fēng)格上的方法和建議。
如果你是沒有Python編程經(jīng)驗(yàn)的新人,你將通過本書系統(tǒng)掌握Python語法及其背后的原理,并從一開始就養(yǎng)成良好的編碼習(xí)慣;如果你是有一定Python編程經(jīng)驗(yàn)的老手,你將通過本書掌握各種Python編程中的高級知識,同時(shí)領(lǐng)略到優(yōu)雅的編碼風(fēng)格和技巧。
在編寫本書之前,筆者已經(jīng)出版了《Python 3.8 從零開始學(xué)》《Python實(shí)戰(zhàn)之?dāng)?shù)據(jù)分析與處理》等多本Python基礎(chǔ)方面的書。很多讀者看后,通過郵件、QQ、微信等方式詢問筆者是否有計(jì)劃再寫一本Python進(jìn)階的書。之前沒有這樣的意愿,一方面是因?yàn)镻ython進(jìn)階的書寫起來不容易,需要長久的技術(shù)積累,另一方面是因?yàn)槿艟帉懖划?dāng),反而容易誤導(dǎo)讀者。
經(jīng)過這些年的技術(shù)積累,以及很多項(xiàng)目的實(shí)踐經(jīng)驗(yàn)積累,筆者自認(rèn)為可以編寫一本關(guān)于Python進(jìn)階的書了。很慶幸,自己踏出了這一步,這才有了本書。
本書是一本偏實(shí)踐型的書,建議讀者在閱讀的過程中多加實(shí)踐,在實(shí)踐過程中逐步形成自己的編程風(fēng)格。作為研發(fā)人員,最大的樂事莫過于別人一看代碼,就知道這是誰編寫的。猶如大家評價(jià)雷軍所編寫的代碼像詩般優(yōu)美一樣,希望讀者在一番練習(xí)后,可以讓同事一眼就識別出那是你獨(dú)有風(fēng)格的優(yōu)美代碼。
隨著信息技術(shù)的不斷發(fā)展,越來越多的公司開始進(jìn)入以技術(shù)驅(qū)動的發(fā)展階段。對于技術(shù)驅(qū)動型公司,就是需要在別人看不見的細(xì)節(jié)處做得極其精致。同時(shí),在實(shí)踐的過程中不要害怕出錯(cuò),編程經(jīng)驗(yàn)都是在不斷嘗試、不斷更正錯(cuò)誤的過程中逐步積累下來的。若能在這個(gè)過程中將遇到的一個(gè)又一個(gè)坑填平,他日回眸一看,身后必將填出一條康莊大道;若遇到坑就繞過或躲避,會看到身后依然滿目瘡痍。
遇到問題不要只局限于當(dāng)前的層次思考問題,而是要盡量站在更高的層次,站在問題的制高點(diǎn)思考問題,這樣你將看得更遠(yuǎn),考慮問題也更加全面。
【本書特色】
結(jié)合Python的部分源碼做講解,讓讀者對整數(shù)、字符串、列表和字典等基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)能知其然,并知其所以然。
結(jié)合實(shí)際應(yīng)用需求,對一些問題做具體講解。
配合大量操作示例,理論與實(shí)踐結(jié)合。
基于Python 3.8編寫,從Python最新版本入手。
致力于幫助讀者編寫更為高效和優(yōu)雅的Python代碼。
【本書內(nèi)容】
本書共17章,各章內(nèi)容安排如下。
第0章講解Python的整體架構(gòu)及源碼組織形式,使讀者對Python的實(shí)現(xiàn)有一個(gè)宏觀的認(rèn)識。
第1章討論數(shù)字相關(guān)主題。
第2章講解字符串的基礎(chǔ)操作,如提取字符串、搜索、替換以及解析等。
第3章講解Python中內(nèi)置的數(shù)據(jù)結(jié)構(gòu),如列表、字典以及集合等。
第4章講解Python中迭代對象的處理。
第5章講解不同類型的文件處理。
第6章講解使用Python處理不同編碼格式的數(shù)據(jù)。
第7章講解一些高級、不常見的函數(shù)定義與使用模式。
第8章講解和類定義有關(guān)的常見編程模型。
第9章介紹元編程技術(shù),并且通過示例展示如何利用該技術(shù)定制源碼行為。
第10章講解模塊和包的常用編程技術(shù),包括如何組織包,如何把大型模塊分割成多個(gè)文件,如何創(chuàng)建命名空間包。
第11章講解如何使用Python編寫客戶端程序來訪問已有的服務(wù),以及如何使用Python實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)端程序。
第12章講解并發(fā)編程的各種方法與技巧,包括通用的多線程技術(shù)以及并行計(jì)算的實(shí)現(xiàn)方法。
第13章講解編寫腳本時(shí)經(jīng)常用到的一些功能,如解析命令行選項(xiàng)以及獲取有用的系統(tǒng)配置數(shù)據(jù)等。
第14章討論測試、調(diào)試和異常處理的常見問題。
第15章講解Python中的內(nèi)存管理機(jī)制。
第16章講解提升Python運(yùn)行效率的方法與實(shí)踐。
【讀者對象】
●本書面向的讀者對象為:
●有一定基礎(chǔ)的Python愛好者。
●有Python基礎(chǔ),希望進(jìn)一步提升編程能力的開發(fā)人員。
●需要用到Python的運(yùn)維人員。
●開設(shè)Python相關(guān)課程的高校學(xué)生。
【關(guān)于本書】
本書的示例代碼都是基于Python 3.8編寫的,所以希望讀者在根據(jù)示例進(jìn)行操作時(shí),使用的Python版本也是3.8及以上,那樣可以避免很多因?yàn)榘姹静煌鶐淼膯栴}。