摘要:以下內(nèi)容僅針對版書籍,等新版上市后,薦書欄目會對兩版的差異跟進(jìn)介紹。當(dāng)然,后續(xù)其它薦書的書目,也很有可能會送福利,一樣不容錯過。
大家好,新一期的薦書欄目如期跟大家見面了。
先來看看今天的主角是誰:《Python源碼剖析——深度探索動態(tài)語言核心技術(shù)》,2008年出版,作者 @陳儒 ,評分8.7分。
是的,你沒看錯,出版年份2008年。這本書基于Python2.5,到了十年后3.7版本的年代,可以說大部分內(nèi)容已經(jīng)過時了,而且,還可能缺失了很多關(guān)鍵內(nèi)容。那你也許會問,一本過時的書,有啥好推薦的呢?下面且聽我給你慢慢道來。
一個巧合,一份期待在寫第一篇薦書《編寫高質(zhì)量代碼改善 Python 程序的 91 個建議》的時候,我偶然發(fā)現(xiàn)知乎上有人提及,說 @賴勇浩 大大正在接手這本源碼剖析的新版本編寫,很多人留言說期待。我想起曾經(jīng)看到,有人推薦過這本書,于是便去查了一下。
書的內(nèi)容簡介中有這一段,我看了便覺得興趣滿滿:
本書以CPython為研究對象,在C代碼一級,深入細(xì)致地剖析了Python的實(shí)現(xiàn)。書中不僅包括了對大量Python內(nèi)置對象的剖析,更將大量的篇幅用于對Python虛擬機(jī)及Python高級特性的剖析。通過此書,讀者能夠透徹地理解Python中的一般表達(dá)式、控制結(jié)構(gòu)、異常機(jī)制、類機(jī)制、多線程機(jī)制、模塊的動態(tài)加載機(jī)制、內(nèi)存管理機(jī)制等核心技術(shù)的運(yùn)行原理,同時,本書所揭示的動態(tài)語言的核心技術(shù)對于理解其他動態(tài)語言,如 Javascript、Ruby等也有較大的參考價值。
作為一個半路上車,剛走出新手村的Pythoner,我正愁如何才能成為一個優(yōu)秀的Pythonista,這本書閃耀著絕世秘籍的光芒,我起初有點(diǎn)望而卻步,過后卻又躍躍欲試。
那么,新書啥時候上市呢?在華蟒用戶組 里,正好有人問到這個消息,群眾們紛紛表示翹首以待。不過,賴勇浩站出來回復(fù)了:
看回復(fù)的時間,這事已經(jīng)過去一年了......
雖然這個神秘的新作者拖稿了,但書的期待值并未因此減損,相反,這恰恰意味著新書上市之日更近了!說不定就在明年上半年了呢。趕在新書出版前,我們薦書欄目先來安利一波,這絕對是一件有先見之明的事,喵喵,美滋滋~~~
一份提綱,一些建議鋪墊了這么多,接下來要好好說下這本書的內(nèi)容了。以下內(nèi)容僅針對08版書籍,等新版上市后,薦書欄目會對兩版的差異跟進(jìn)介紹。
全書主要分兩部分,第一部分(1-6章)剖析Python的幾大內(nèi)建對象(如整數(shù)、字符串、列表、字典),涉及對象創(chuàng)建、維護(hù)、緩沖池、提升效率的機(jī)制等內(nèi)容;第二部分(7-16章)剖析Python虛擬機(jī),涉及虛擬機(jī)框架、一般表達(dá)式、控制流、函數(shù)機(jī)制、類機(jī)制、運(yùn)行環(huán)境初始化、動態(tài)加載機(jī)制、多線程機(jī)制、內(nèi)存管理機(jī)制等內(nèi)容。
有道是,Python中萬物皆對象。而Python是用C語言實(shí)現(xiàn)的,C語言卻是典型的面向過程語言 ,那么,它是如何實(shí)現(xiàn)”萬物皆對象“的呢?實(shí)際上,Python對象是C的結(jié)構(gòu)體在堆上申請的一塊內(nèi)存(包括連續(xù)內(nèi)存與非連續(xù)內(nèi)存),所有內(nèi)建的類型對象都是被靜態(tài)初始化了的。
按照書中的分類,Python對象可分如下:
其中,F(xiàn)undamental對象是指類型對象,Numeric對象是指數(shù)值對象,Sequence對象是指容納其它對象的序列集合對象,Mapping對象是類似于C++中map的關(guān)聯(lián)對象,Internal對象是Python虛擬機(jī)在運(yùn)行時內(nèi)部使用的對象。
還有一種分類方式,Python對象可以分為定長對象 與變長對象。從這些分類中可以看出,Python對象之間存在著天然差異,那么,不同對象的生命周期管理(創(chuàng)建、維護(hù)、使用、回收)、對象的多態(tài)、對象緩沖池、以及其它特有的機(jī)制,這些都是怎么實(shí)現(xiàn)的呢?
書中第一部分內(nèi)容就是對以上問題的回答。閱讀過程中,我讀到了一些熟悉的內(nèi)容,例如之前在《Python中的“特權(quán)種族”是什么?》中發(fā)明的“特權(quán)種族”(例如神秘的[-5,256]數(shù)字、以及Intern機(jī)制的短字符串),它們在內(nèi)建對象剖析的部分里都有。閱讀的過程,就是從知其然,到知其所以然的過程,于我大有益處。
說實(shí)話,源碼分析的部分,對我來說太難了,因?yàn)镃語言基礎(chǔ)早已交還給大學(xué)老師了......但是,閱讀第一部分的好處是,你不必完全懂源碼,因?yàn)樽髡呒恿撕芏嘧⑨?,相關(guān)的分析過程也很詳盡。
至于書中的第二部分,我還不敢進(jìn)入。這部分需要一些編譯原理知識、字節(jié)碼及虛擬機(jī)知識。留待今后繼續(xù)學(xué)習(xí)。
全書章節(jié)的編排結(jié)構(gòu)特別清晰,已經(jīng)提供了一份很好的學(xué)習(xí)路徑提綱。這里,我還搜集了一些閱讀建議,下面看看有什么:
如果你在用一門高級語言,想了解語言的實(shí)現(xiàn)原理,這本書是你的必選;如果你是一個 C/C++ 程序員,想寫出高質(zhì)量的程序,這本書也是你必選?!?@simonliu一份資源,更多福利需要說明的是,我不會向python語言的學(xué)習(xí)者推薦這本書,因?yàn)樗皇且槐緋ython語言的教材。相反,作為分析Python運(yùn)行時機(jī)制的專著,書中充斥著有關(guān)C、C++的討論(我還讀到了有用java做為比較的段落)。這不要求讀者是專業(yè)的C/C++程序員,但是至少應(yīng)該能夠讀懂C代碼,最好知道 C++ STL是怎么回事。......我堅(jiān)信,這本優(yōu)秀的著作,值得譯為英文,向全世界的C/C++/Python程序員推薦。——@膘
很好的講解Python源碼剖析的書籍,深入講解了Python的各種特性是如何通過C語言實(shí)現(xiàn)的,對于想了解Python底層實(shí)現(xiàn)的程序員很有幫助,講解的很詳細(xì),不過看底層C實(shí)現(xiàn)看多了也確實(shí)容易乏味、消磨耐性,尤其后面高級特性的剖析時,看起來愈發(fā)吃力、費(fèi)勁。 目前先通讀了一遍,幫助自己了解了Python的不少特性和其底層機(jī)制,還有很多地方草草略過并不十分明白,日后實(shí)力更上一層樓時,再回來拜讀。 好書推薦!——@流星云
源碼可以不讀,這本書還是值得讀的?!狜賴勇浩
常備的手邊書,深入了解Python的好書?!狜清風(fēng)
相信能夠讀到這里的讀者,都燃起了一些閱讀興趣,可以“按圖索驥”去學(xué)習(xí)。電子學(xué)習(xí)資源很多,對于愛學(xué)習(xí) 的你們來說,這不是啥難事。豆瓣讀書、當(dāng)當(dāng)網(wǎng)和京東圖書上,也有電子書可購買。
但是,如果你想買紙質(zhì)書,不好意思,早就絕版了。二手舊書的價格貴得嚇人,下面訊息給不差錢的同學(xué)們參考下:
在中英文的Python書籍中,這本剖析源碼的書籍,可能是絕無僅有的一本,就憑這點(diǎn),怎么推薦都不為過。對于可能會很快上市的新書,則是怎么期待都不為過的。如果有小伙伴知道出版消息,懇請?jiān)诤笈_告知于我,不勝感激。
在薦書《黑客與畫家》的時候,我們送出了一本精裝書福利。等到這本源碼剖析的新書上市時,送書福利肯定會是大大的,大家拭目以待吧。當(dāng)然,后續(xù)其它薦書的書目,也很有可能會送福利,一樣不容錯過。所以,我要打個小廣告,還沒關(guān)注的小伙伴,趕緊掃描下方二維碼,立刻關(guān)注公眾號Python貓 ,關(guān)注我們的薦書欄目,讓我們一同學(xué)習(xí),一同進(jìn)步,一同搶福利,喵喵喵~~~
本文原創(chuàng)并首發(fā)于微信公眾號【Python貓】,后臺回復(fù)“愛學(xué)習(xí)”,免費(fèi)獲得20+本精選電子書。
往期薦書回顧:
第一期:《編寫高質(zhì)量代碼改善 Python 程序的 91 個建議》
第二期:《Python最佳實(shí)踐指南》
第三期:《黑客與畫家》
延伸閱讀:
陳儒博客:https://blog.csdn.net/balabal...
豆瓣書目:https://book.douban.com/subje...
Python源碼:https://svn.python.org/projects/
書評筆記:
https://book.douban.com/revie...
https://blog.csdn.net/lxlmycs...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/45022.html
摘要:正好,最近又有幾位不同身份的初學(xué)者來咨詢,要我推薦幾本入門書籍,而我們薦書系列已經(jīng)停更了兩個多月,所以,本期薦書就來推薦一些入門書籍吧。為了準(zhǔn)備這期薦書,我專門搜集了本入門書籍,現(xiàn)在全部加入到了一份豆瓣豆列里,方便大家查看。 showImg(https://segmentfault.com/img/remote/1460000019299066?w=4790&h=3193); 本文原創(chuàng)...
閱讀 1996·2021-10-20 13:49
閱讀 1515·2019-08-30 15:52
閱讀 3001·2019-08-29 16:37
閱讀 1175·2019-08-29 10:55
閱讀 3225·2019-08-26 12:14
閱讀 1796·2019-08-23 17:06
閱讀 3377·2019-08-23 16:59
閱讀 2702·2019-08-23 15:42