想學(xué)Python的同學(xué)不要再胡亂找資料了,這本《Python基礎(chǔ)教程(第3版)》足夠你入門了
剛開(kāi)始接觸Python或者有打算要學(xué)Python的小伙伴,還在網(wǎng)上東拼西湊的找資料嗎?這樣不僅浪費(fèi)了你的時(shí)間,而且沒(méi)有系統(tǒng)的學(xué)習(xí),最終只能導(dǎo)致你思緒混亂,基礎(chǔ)不扎實(shí),兩個(gè)字“白學(xué)”!

今天給大家推薦的這本書(shū)籍是《Python基礎(chǔ)教程第3版》,整本書(shū)的結(jié)構(gòu)安排還是比較明顯的。先是基礎(chǔ)知識(shí)和python的基本數(shù)據(jù)類型和語(yǔ)言特性介紹,然后是面向?qū)ο蟮木幊?。之后介紹python的標(biāo)準(zhǔn)庫(kù)以及相關(guān)主題的編程(比如數(shù)據(jù)庫(kù)、文件IO、GUI、網(wǎng)絡(luò)編程),最后是以10個(gè)項(xiàng)目來(lái)總結(jié)對(duì)前面知識(shí)的綜合運(yùn)用。
下面我來(lái)介紹下怎么用這本書(shū)
第一章 快速上手
很多優(yōu)秀的編程書(shū)籍都會(huì)在第一章給出這門語(yǔ)言的一個(gè)總覽以及常用的特性,可以說(shuō)平時(shí)常用的70%的概念都會(huì)在第一章里面做一個(gè)簡(jiǎn)介。這種做法非常好,讓大家對(duì)這門語(yǔ)言有一個(gè)快速的認(rèn)識(shí),建立一定的興趣,比如這一章告訴了我,Python可以當(dāng)一個(gè)計(jì)算器。甚至還可以計(jì)算復(fù)數(shù)!

第一章教了我們什么是程序,引入了算法的概念,原來(lái)算法一詞就是菜譜或者流程的時(shí)髦說(shuō)法而已。還告訴了我們程序的組成單位,變量、表達(dá)式、語(yǔ)句。這些概念是學(xué)習(xí)任何一門編程語(yǔ)言都需要了解的通用的概念,當(dāng)了解了這些概念,就可以觸類旁通,學(xué)習(xí)別的編程語(yǔ)言就簡(jiǎn)單多了。還介紹了如何接收輸入,函數(shù),模塊,保存程序,運(yùn)行程序,注釋。以及最常用的字符串,任何編程語(yǔ)言里面都要和字符串打交道,我們平時(shí)寫代碼打交道最多的也是字符串,所以在第一章就基本上做了非常詳細(xì)的介紹。
建議大家學(xué)習(xí)完每一章都要看一下最后的小結(jié),復(fù)習(xí)一下這一章介紹的概念。
【領(lǐng)取方式見(jiàn)文末】
第二章 列表與元組
第二章介紹了一個(gè)新的概念,數(shù)據(jù)結(jié)構(gòu)。這也是學(xué)習(xí)每個(gè)編程語(yǔ)言需要去了解的常用的數(shù)據(jù)結(jié)構(gòu)。一般學(xué)習(xí)一個(gè)新的編程語(yǔ)言,在學(xué)習(xí)完基礎(chǔ)語(yǔ)法,變量,表達(dá)式,語(yǔ)句,標(biāo)識(shí)符,基礎(chǔ)運(yùn)算符,函數(shù),模塊這些基礎(chǔ)概念之后,就需要學(xué)習(xí)字符串,列表,集合,字典等常用的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),懂了這些數(shù)據(jù)結(jié)構(gòu),再加上輸入輸出,可以說(shuō)很多程序都難不倒我們了。
這一章介紹的列表與元組,都是容器。各種編程語(yǔ)言中主要的容器都有兩種,序列和映射,差別在于怎么定位容器中的內(nèi)容。
第三章 字符串
這一章更詳細(xì)的介紹了字符串,其實(shí)字符串也是一種序列,所以通用操作也可以用。這一章介紹的點(diǎn)在于格式化字符串,也就是如何按照你要的樣子輸出字符串,以及各種字符串的方法。
第四章 字典
這一章介紹另一種重要的容器,字典。它的特點(diǎn)是利用映射來(lái)定位容器中包含的內(nèi)容。當(dāng)學(xué)完這一章,常用的數(shù)據(jù)結(jié)構(gòu)就學(xué)的差不多了。但是有了這些數(shù)據(jù)結(jié)構(gòu),但卻沒(méi)法用他們,數(shù)據(jù)結(jié)構(gòu)只是讓我們有了數(shù)據(jù),拿到了數(shù)據(jù),但是最終我們還是要對(duì)數(shù)據(jù)做些什么,所以作者立馬就安排了下面一章來(lái)教我們這么用數(shù)據(jù)。
第五章 條件、循環(huán)及其他語(yǔ)句
一般我們接觸的程序都是對(duì)數(shù)據(jù)做一些事情,所以這一章就是教我們?nèi)绾螌?duì)數(shù)據(jù)做一些事情。這一章先把一些沒(méi)地方放的內(nèi)容放在了開(kāi)頭,然后從第四小節(jié)開(kāi)始介紹語(yǔ)句。
第六章 抽象

這一章,介紹了一種偷懶的方法論,叫做抽象。大家說(shuō),因?yàn)橄胪祽?,才?chuàng)造出程序員這種職業(yè),其實(shí)程序員是想節(jié)省時(shí)間,而不是偷懶。
抽象是一個(gè)程序設(shè)計(jì)中比較專業(yè)的概念,是思維層次上的一個(gè)提升。0基礎(chǔ)的話理解這部分概念需要一定的時(shí)間,沒(méi)關(guān)系,先用著,用著用著就理解了。
現(xiàn)代編程語(yǔ)言的抽象手段很多,而函數(shù)是每一個(gè)都有的,也是最基礎(chǔ)的。所以這一章重點(diǎn)介紹了函數(shù)以及參數(shù)。
這一章還介紹了一個(gè)概念,叫做函數(shù)式編程,對(duì)應(yīng)的概念叫做面向?qū)ο缶幊?。在我?guī)啄甑木幊坦ぷ髦校瘮?shù)式編程無(wú)處不在,事實(shí)上,能設(shè)計(jì)出一個(gè)很好用的函數(shù),已經(jīng)是非常厲害的抽象能力了。
這一章有很多例子,建議都照著敲一下代碼,看電子書(shū)的千萬(wàn)不要復(fù)制黏貼,要自己親手一個(gè)個(gè)字母敲進(jìn)去。
第七章 類和對(duì)象
這一章介紹更高層的抽象,其實(shí)對(duì)象(類)和函數(shù)是兩種不同的抽象方式。前者用來(lái)抽象數(shù)據(jù),并且綁定一些動(dòng)作。后者用來(lái)抽象處理數(shù)據(jù)的工作。前者抽象的是什么,后者抽象的是做什么。
這一章首先介紹了面向?qū)ο笕蟾拍?,封裝、繼承和多態(tài)。這是任何一個(gè)面向?qū)ο缶幊陶Z(yǔ)言都有的。
到這一章學(xué)完,基本上我們就可以完成很多基礎(chǔ)的程序設(shè)計(jì)和編寫工作了。真的嗎?這么簡(jiǎn)單嗎?對(duì)的,就是這么簡(jiǎn)單。我們只要學(xué)到第七章就行了。我們生活中很多程序都可以寫了。比如我之前寫的一個(gè)小爬蟲(chóng)程序,就只有幾十行代碼,用到的還只是前六章的知識(shí)點(diǎn)。
我建議在這一章結(jié)束,可以不用急著往后看,已經(jīng)可以去寫一些程序了。
本書(shū)雖然沒(méi)有習(xí)題,但是從20章到29章,介紹了10個(gè)不同的項(xiàng)目,在現(xiàn)階段,就可以去照著做一下了,遇到還沒(méi)有學(xué)的概念,可以跳過(guò)。這10個(gè)項(xiàng)目,都可以做一個(gè)初級(jí)版本出來(lái)。
老實(shí)說(shuō),我覺(jué)得這本書(shū)好就是因?yàn)樗恼鹿?jié)安排非常合理,非常適合初學(xué)者循序漸進(jìn)的一點(diǎn)點(diǎn)掌握Python。
其實(shí)第一個(gè)項(xiàng)目就很難,我當(dāng)時(shí)看完前5章去做了一下,沒(méi)做下去,又看完6,7章去做,做的很艱難。很多概念看過(guò)和實(shí)際動(dòng)手去做事兩碼事,但是老實(shí)說(shuō)還挺有樂(lè)趣,一點(diǎn)點(diǎn)摸索,遇到不懂地就再回去看看相關(guān)的概念,這就是學(xué)以致用。
寫完第一個(gè)項(xiàng)目我很有感觸,其實(shí)就是那些最基本的概念,就是我之前說(shuō)的一門編程語(yǔ)言里面最基本的那些概念,算法,語(yǔ)法,表達(dá)式,語(yǔ)句,運(yùn)算符,數(shù)據(jù)結(jié)構(gòu),函數(shù)等等。再照著寫兩個(gè)項(xiàng)目,體悟更深了,事情慢慢變得容易了。
第八章 異常
異常是我至今沒(méi)有掌握好的一個(gè)概念,我不知道啥時(shí)候該使用異常,啥時(shí)候不該使用異常。平時(shí)也只會(huì)簡(jiǎn)單的try except而已。
第九章 魔法方法、特性和迭代器
比較散亂的一章,但是平時(shí)用的非常多,學(xué)會(huì)這些,一定要學(xué)會(huì),我們的程序會(huì)變得更好用。如果要找工作,那么迭代器和生成器是每一次面試必考的,所以這個(gè)概念一定要掌握。就算不為了面試,這兩個(gè)方法也很好用。
我第一次用的時(shí)候也是覺(jué)得可用可不用,結(jié)果用熟了以后就覺(jué)得,嗯,真香~~~
第十章 開(kāi)箱即用
這一章主要介紹模塊,包的概念。Python是一個(gè)膠水語(yǔ)言,是一個(gè)萬(wàn)金油語(yǔ)言,我們能想到的事情,Python的世界里面基本上都有現(xiàn)成做好的模塊給我們用。我們所要做的就是去搜索到這個(gè)模塊的名字就行了。
有人會(huì)疑惑為什么這一章不稍微介紹下pip這個(gè)包管理器,因?yàn)槠綍r(shí)我們就是用它來(lái)安裝各種包、模塊的。因?yàn)檫@一章是“開(kāi)箱即用”,主要介紹標(biāo)準(zhǔn)庫(kù)。
這一章很長(zhǎng),內(nèi)容很多,建議把提到的模塊都用一下,了解一下,因?yàn)樗鼈兊牡拇_確是用的最多的。
第十一章 文件
我們平時(shí)跟文件打交道實(shí)在太多了,所以這一章是重點(diǎn),都要掌握。
第十二章 GUI
我覺(jué)得這一章不太好,像是湊數(shù)的,內(nèi)容太簡(jiǎn)單。GUI指的是圖形界面編程。如果沒(méi)有這種需求,可以不用學(xué)。如果想要用Python做GUI,可能其他的庫(kù),比如PyQt,wxPython等是更好的選擇。
第十三章 數(shù)據(jù)庫(kù)支持
這一章介紹的是SQLite,我用這個(gè)數(shù)據(jù)庫(kù)做了一個(gè)家庭計(jì)賬簿,用了2年多了,挺好用:)學(xué)會(huì)了這一章,以后用別的數(shù)據(jù)庫(kù)模塊會(huì)發(fā)現(xiàn),接口都一樣,這就是抽象。
第十四章 網(wǎng)絡(luò)編程
我從未寫過(guò)網(wǎng)絡(luò)編程,所以也沒(méi)有看過(guò)這一章,所以無(wú)法給出意見(jiàn)。
第十五章 Python和Web
這一章介紹的是抓取網(wǎng)頁(yè)和做Http服務(wù)器,以及介紹了Web框架。
我是看了爬蟲(chóng)的教程再回去看這一章,發(fā)現(xiàn)書(shū)里面寫的東西用處不大了。只有一個(gè)BeautifulSoup還有點(diǎn)用。web框架Flask用的人不少,不過(guò)我用的是Django,所以久沒(méi)有仔細(xì)看。
第十六章 測(cè)試基礎(chǔ)
這一章非常實(shí)用,建議一定要看,尤其是要應(yīng)聘測(cè)試工程師有要求懂Python的,那么這一章的內(nèi)容要掌握。
這一章提到的理念“先測(cè)試后編碼”,測(cè)試驅(qū)動(dòng)的編程,先編寫需求說(shuō)明,重構(gòu)都很重要,平時(shí)工作使用Python的時(shí)候可以有條件的選擇一些來(lái)執(zhí)行。介紹了兩個(gè)測(cè)試工具很實(shí)用,平時(shí)都會(huì)用。
第十七章 擴(kuò)展Python
了解各概念即可,一開(kāi)始估計(jì)用不到。我是兩年后用到別人給的C接口時(shí)才去學(xué)SWIG的。
第十八章 程序打包
如果我們很滿意自己寫的程序,想讓更多人使用,那么本章就介紹了標(biāo)準(zhǔn)的做法。我沒(méi)有分享過(guò)代碼,所以自然也沒(méi)有看過(guò)這章,無(wú)法給出評(píng)價(jià)。
第十九章 趣味編程
這一章的理念很棒,我自己使用的XP開(kāi)發(fā)方法,當(dāng)然我跟作者一樣,比較懶,大多數(shù)規(guī)范我都沒(méi)有遵守。
這一章的原型設(shè)計(jì)是設(shè)計(jì)程序的最佳實(shí)踐之一,配置也是很重要,稍微大一點(diǎn)的程序,都要用到配置才有一定的靈活性。我的配置文件一般是json,所以這就又用到了第10章里面介紹的json庫(kù)。
最后作者列得參考書(shū)目,如果通過(guò)學(xué)習(xí)Python對(duì)編程有了更多的興趣,就可以看一下,就像作者所說(shuō)的:“就算不詳細(xì)閱讀這些著作(我反正沒(méi)有詳細(xì)閱讀),隨便翻翻也將讓你深受啟迪。”
第二十章 -- 第二十九章
十個(gè)不大不小的項(xiàng)目,建議都做一下,學(xué)完前7章就可以開(kāi)始做,學(xué)習(xí)了之后的章節(jié)后不斷完善,其實(shí)這個(gè)過(guò)程就是XP(極限編程)。
能看到這里的小伙伴們,我相信你們一定是對(duì)學(xué)習(xí)Python感興趣的,通過(guò)這本書(shū)學(xué)習(xí)吧,不會(huì)讓你失望的。
注意!《Python基礎(chǔ)教程(第3版)》PDF中文版!此書(shū)分享格式為PDF電子版,各位小伙伴手機(jī)就可以隨時(shí)學(xué)習(xí)閱讀哦!
領(lǐng)取方式:
1.已三聯(lián)+關(guān)注
2.后臺(tái)主動(dòng)給我打招呼“電子書(shū)”