資料介紹
如果你是本書的目標(biāo)讀者,那你應(yīng)該可以從本書的任意一章開始閱讀,但是如果按照我寫作時(shí)的構(gòu)思來的話,本書一共分為六個(gè)獨(dú)立的部分,每個(gè)部分內(nèi)的章節(jié)最好按照順序來讀。在介紹讓你自己實(shí)現(xiàn)某些功能的方法之前,我通常會(huì)先把現(xiàn)成可用的工具講清楚。比如說第二部分的第 2 章覆蓋了序列類型(sequence type),但是像 collections.deque 這種類可能就會(huì)一帶而過。一直到第四部分,我們才會(huì)看看如何從抽象基類(abstract base class, ABC)中獲利,抽象基類則被封裝在 collections.abc 這個(gè)包里。如果想創(chuàng)建自己的 ABC,你可能得看到第四部分的最后一些內(nèi)容才行,因?yàn)槲乙恢庇X得,如果沒有熟練使用 ABC 的經(jīng)驗(yàn),貿(mào)然去實(shí)現(xiàn)一套自己的東西是不合適的。這樣做有幾個(gè)好處。第一,知道有什么現(xiàn)成的工具可用,能避免重新發(fā)明輪子。畢竟我們使用現(xiàn)有集合類型(collection type)的概率要遠(yuǎn)大于自己動(dòng)手寫一套新的。第二,這樣一來,在討論如何寫新類型之前,我們能夠有更多的機(jī)會(huì)來了解這些現(xiàn)成類的高級(jí)用法。第三,比起從零開始構(gòu)建一個(gè) ABC,繼承已有的 ABC 庫應(yīng)該會(huì)簡(jiǎn)單一些。最后,我認(rèn)為在看過一些實(shí)際的案例之后,理解抽象會(huì)更輕松。當(dāng)然,這樣也會(huì)帶來一些不便之處,比如書里的向前引用就會(huì)分散在各個(gè)不同的章節(jié)里面。但是經(jīng)過上述這番梳理,我想這一點(diǎn)不便之處也是可以容忍的。下面是本書每一部分的主題。
一部分第一部分只有單獨(dú)的一章,講解的是 Python 的數(shù)據(jù)模型(data model),以及如何為了保證行為一致性而使用特殊方法(比如 __repr__),畢竟 Python 的一致性是出了名的。其實(shí)整本書幾乎都是在講解 Python 的數(shù)據(jù)模型,第 1 章算是一個(gè)概覽。第二部分第二部分包含了各種集合類型:序列(sequence)、映射(mapping)和集合(set),另外還提及了字符串(str)和字節(jié)序列(bytes)的區(qū)分。說起來,最后這一點(diǎn)也是讓親者(Python 3 用戶)快,仇者(Python 2 用戶)痛的一個(gè)關(guān)鍵,因?yàn)檫@個(gè)區(qū)分致使 Python 2 代碼遷移到 Python 3 的難度陡增。第二部分的目標(biāo)是幫助讀者回憶起 Python 內(nèi)置的類庫,順帶解釋這些類庫的一些不太直觀的地方。具體的例子有 Python 3 如何在我們觀察不到的地方對(duì) dict 的鍵重新排序,或者是排序有區(qū)域(locale)依賴的字符串時(shí)的注意事項(xiàng)。為了達(dá)到本部分的目標(biāo),有些地方的講解會(huì)比較大而全,像序列類型和映射類型的變種就是這樣;有時(shí)則會(huì)寫得很深入,比方說我會(huì)對(duì) dict 和 set 底層的散列表進(jìn)行深層次的討論。第三部分如何把函數(shù)作為一等對(duì)象(first-order object)來使用。第三部分首先會(huì)解釋前面這句話是什么意思,然后話題延伸到這個(gè)概念對(duì)那些被廣泛使用的設(shè)計(jì)模型的影響,最后讀者會(huì)看到如何利用閉包(closure)的概念來實(shí)現(xiàn)函數(shù)裝飾器(function decorator)。這一部分的話題還包括 Python 的這些基本概念:可調(diào)用(callable)、函數(shù)屬性(function attribute)、內(nèi)省(introspection)、參數(shù)注解(parameter annotation)和 Python 3 里新出現(xiàn)的 nonlocal 聲明。第四部分到了這里,書的重點(diǎn)轉(zhuǎn)移到了類的構(gòu)建上面。雖然在第二部分里的例子里就有類聲明(class declaration)的出現(xiàn),但是第四部分會(huì)呈現(xiàn)更多的類。和任何面向?qū)ο笳Z言一樣,Python 還有些自己的特性,這些特性可能并不會(huì)出現(xiàn)在你我學(xué)習(xí)基于類的編程的語言中。這一部分的章節(jié)解釋了引用(reference)的原理、“可變性”的概念、實(shí)例的生命周期、如何構(gòu)建自定義的集合類型和 ABC、多重繼承該怎么理順、什么時(shí)候應(yīng)該使用操作符重載及其方法。第五部分 Python 中有些結(jié)構(gòu)和庫不再滿足于諸如條件判斷、循環(huán)和子程序(subroutine)之類的順序控制流程,第五部分的筆墨會(huì)集中在這些構(gòu)造和庫上。我們會(huì)從生成器(generator)起步,然后話題會(huì)轉(zhuǎn)移到上下文管理器(context manager)和協(xié)程(coroutine),其中會(huì)涵蓋新增的功能強(qiáng)大但又不容易理解的 yield from 語法。這一部分以并發(fā)性和面向事件的 I/O 來結(jié)尾,其中跟并發(fā)性相關(guān)的是 collections.futures 這個(gè)很新的包,它借助 futures 包把線程和進(jìn)程的概念給封裝了起來;而跟面向事件 I/O 相關(guān)的則是 asyncio,它的背后是基于協(xié)程和 yield from 的 futures 包。第六部分第六部分的開頭會(huì)講到如何動(dòng)態(tài)創(chuàng)建帶屬性的類,用以處理諸如 JSON 這類半結(jié)構(gòu)化的數(shù)據(jù)。然后會(huì)從大家已經(jīng)熟悉的特性(property)機(jī)制入手,用描述符從底層來解釋 Python 對(duì)象屬性的存取。同時(shí),函數(shù)、方法和描述符的關(guān)系也會(huì)被梳理一遍。第六部分會(huì)從頭至尾地實(shí)現(xiàn)一個(gè)字段驗(yàn)證器,在這個(gè)過程中我們會(huì)遇到一些微妙的問題,然后在最后一章中就自然引出像類裝飾器(class decorator)和元類(metaclass)這些高級(jí)的概念。
- 圖解數(shù)字磁帶錄音機(jī)的PDF電子書免費(fèi)下載 109次下載
- 現(xiàn)代無線電實(shí)驗(yàn)的PDF電子書免費(fèi)下載 285次下載
- 半導(dǎo)體收音機(jī)淺談的PDF電子書免費(fèi)下載 171次下載
- 深度學(xué)習(xí)入門:基于Python的理論與實(shí)現(xiàn)電子書 32次下載
- 光學(xué)諧振腔的圖解分析與設(shè)計(jì)方法的PDF電子書免費(fèi)下載 132次下載
- micropython中文教程第二版電子書免費(fèi)下載 0次下載
- MATLAB函數(shù)速查手冊(cè)PDF電子書免費(fèi)下載 150次下載
- 電子管數(shù)據(jù)手冊(cè)合集PDF電子書免費(fèi)下載 82次下載
- 寫給文科生看的編程入門Python管窺PDF電子書免費(fèi)下載 7次下載
- python入門教材電子書合集免費(fèi)下載 31次下載
- python標(biāo)準(zhǔn)庫詳細(xì)電子書資料免費(fèi)下載 2次下載
- 電冰箱快速維修PDF電子書免費(fèi)下載 51次下載
- 家電維修1128例PDF電子書免費(fèi)下載 207次下載
- 《Radio-Frequency Integrated-Circuit Engineering》電子書籍.pdf下載 0次下載
- 實(shí)用Linux教程電子書 0次下載
- 電子書閱讀器內(nèi)置鋰電池供電自動(dòng)切換電路 2030次閱讀
- 如何安裝Python解釋器 5408次閱讀
- Python的下載與安裝 1398次閱讀
- Python-pygame 游戲開發(fā) 1517次閱讀
- 如何使用Python直接給微信推送消息 2105次閱讀
- 用Python寫了一個(gè)電子考勤系統(tǒng) 1253次閱讀
- 手機(jī)熱點(diǎn)可以替代寬帶長期使用嗎? 4396次閱讀
- 機(jī)器學(xué)習(xí)入門寶典《統(tǒng)計(jì)學(xué)習(xí)方法》的介紹 4682次閱讀
- 機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)必讀的10本免費(fèi)在線電子書和書的詳細(xì)介紹 6745次閱讀
- python適合做什么開發(fā)_python未來發(fā)展怎么樣 8305次閱讀
- 介紹Python 3 的功能 讓人輕松地從Python 2遷移到Python 3 4527次閱讀
- 最新電子書拆解評(píng)測(cè)系列報(bào)道(一):打開你的眼界 1.2w次閱讀
- 簡(jiǎn)要介紹一下Python-UNO的使用方法 8661次閱讀
- 本地搭建Python Web的開發(fā)測(cè)試環(huán)境過程詳解 4907次閱讀
- python2與python3問題的分析 1063次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1491次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費(fèi)
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
- 0.23 MB | 4次下載 | 免費(fèi)
- 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537793次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多