學(xué)習(xí)Python編程的19個(gè)資源
用Python編寫代碼一點(diǎn)都不難,事實(shí)上它一直被贊譽(yù)為最容易學(xué)的編程語言。如果你準(zhǔn)備學(xué)習(xí)web開發(fā), Python是一個(gè)不錯(cuò)的開始,甚至想做游戲的話,用Python來開發(fā)游戲的資源也有很多。這是快速學(xué)習(xí)這門語言的途徑之一。
許多程序員都把Python作為編程之旅的開始,然后是像PHP和Ruby這樣的語言。它也是2014年最熱門的web開發(fā)語言之一,并極力推薦學(xué)習(xí)。但是,Python應(yīng)該怎么學(xué)呢?應(yīng)該從哪里開始?
我來為你解決這個(gè)問題,因?yàn)槲易约簩W(xué)習(xí)編程和開始做開發(fā)的時(shí)候也依靠了很多這里的資源。當(dāng)然這僅僅是一個(gè)友好的建議,***的方法還是通過實(shí)踐去學(xué)習(xí),這里推薦的一些書和資源只是為了指引你走往正確的方向。
剛開始學(xué)習(xí)的時(shí)候可能會(huì)特別令人沮喪,一旦你學(xué)完了基礎(chǔ),之后的東西對(duì)你來說就很自然了,你都不需要思考就知道要怎么做。
1、Python for Beginners
如果你的Python開發(fā)之旅有一段時(shí)間了,這門課程可能是一個(gè)很好的開始。Python for Beginners課程是由Alex Bowers講授的最全面的Python課程之一,這套網(wǎng)絡(luò)教程非常容易學(xué)習(xí)。是的,它需要付一定的費(fèi)用,但你是想單獨(dú)學(xué)習(xí),還是和其他30000名學(xué)生一起學(xué)?
報(bào)名本課程的好處是你將被授權(quán)訪問一個(gè)只有付費(fèi)會(huì)員的論壇, Alex老師自己就駐扎在那,并且很樂意盡可能地幫你解決Python的問題。我的意思是,在這個(gè)清單里任何的資源都是值得的,因?yàn)槟阃度肓艘恍┏杀绢~外收獲了與人溝通的感覺會(huì)超越一切。
你可以使用優(yōu)惠碼:CODECONDO——它會(huì)給你一個(gè)固定的75%的折扣,但激活只能在2014年9月3日之前——所以要快點(diǎn),您可以隨時(shí)購(gòu)買的這個(gè)課程然后用于以后的學(xué)習(xí),不要把錢浪費(fèi)在這筆交易上!
2、Learn Python The Hard Way (笨辦法學(xué)Python)
這本書絕對(duì)是學(xué)習(xí)Python最簡(jiǎn)單的方法。你會(huì)被如此簡(jiǎn)單的基礎(chǔ)學(xué)習(xí)感到震驚,真實(shí)地感受到自己的學(xué)習(xí)歷程,一步一步地獲取新的知識(shí)。我也感到它非常鼓勵(lì)學(xué)習(xí)者去嘗試并創(chuàng)造出自己的程序。
代碼可能會(huì)很少,但是它們肯定會(huì)有助于你更好的理解語言本身和語法。Python非常的流行,所以當(dāng)你遇到了問題時(shí),在類似Stack Exchange這樣的網(wǎng)站里有可能會(huì)找到答案,遇到問題需要解決的話盡管地Google吧。
你會(huì)學(xué)到如何去:
- 在全平臺(tái)上安裝Python環(huán)境
- 寫Python程序
- 理解Python語法和文檔
- 像程序員一樣思考
- 還有更多的東西
本書的HTML在線版本是完全免費(fèi)的,大部分人使用的都是在線版。我希望你購(gòu)買完整的書或者給予一些捐贈(zèng),畢竟作者花了很大的力氣來完成它。如果你感覺視頻更容易學(xué)習(xí)的話,它的高級(jí)版里就包含了視頻。
3、The Python Challenge
如果你的編程生涯中從沒做過這樣的挑戰(zhàn),這可能會(huì)有點(diǎn)難度。但是配和上面介紹的那本書的話也不是很難,你應(yīng)該嘗試一下。它有33個(gè)關(guān)卡(謎題),你可以用Python編程技巧解決。
幾百萬的人都在試著解決這個(gè),即使你不能完成所有的關(guān)卡,你也會(huì)將學(xué)到很多新的東西,尤其是批判性思維和發(fā)散思維。你的大腦會(huì)過熱,但這是在編程!
4、Learn Python Programming @ Codecademy
你可能看到許多“大牛”程序員罵這個(gè)網(wǎng)站,但那并不重要。我們想要做的是看看或者測(cè)試一門編程語言的基本語法是怎么執(zhí)行的,以及調(diào)用函數(shù)時(shí)做了些什么,除了簡(jiǎn)單地輸出‘Hello World!’。
在這個(gè)Codecademy的課程中你將會(huì)學(xué)到如何使用文件和循環(huán),什么是函數(shù)以及他們能用來做什么。這些都是非?;A(chǔ)的,但是對(duì)初學(xué)者來說都是很好的東西。當(dāng)需要幫助時(shí)有一個(gè)用來交流的論壇,但所有的東西都應(yīng)該在你理解的范圍之內(nèi)。
你不需要安裝任何工具,如果你想在你自己的電腦上重寫一遍代碼以便更好地理解它,你可能唯一需要的就是一個(gè)Notepad++編輯器。我就是這樣做的,并且我向所有想學(xué)習(xí)編程的人都推薦Codecademy,不管是Python還是其他的語言。
5、Intro to Computer Science @ Udacity
Udacity提供了一個(gè)很棒的免費(fèi)課程,引你進(jìn)入Python編程和學(xué)習(xí)關(guān)于搜索引擎的許多東西,以及如何編寫你自己的小型網(wǎng)絡(luò)爬蟲。它的確是一個(gè)值得參與的課程,并且還提供了額外的指導(dǎo)和社區(qū)支持。
你可以報(bào)名成為付費(fèi)學(xué)生得到導(dǎo)師的指導(dǎo),并且可以在課程結(jié)束得到一個(gè)證書,或者你可以自己使用免費(fèi)的課件學(xué)習(xí),遺憾的是付費(fèi)課堂的容量有限,所以你申請(qǐng)后需要加入名單等待。
它總共有11個(gè)課程,每一個(gè)都有講解非常深入的文檔。去它的官方主頁查看更多的信息或者你想問的問題的答案。
6、Google’s Python Class
Google它本身就被一大堆Python代碼驅(qū)動(dòng)著,只有他們提供社區(qū)支持并且愿意幫助其他人學(xué)習(xí)這門語言才更有意義。這是我曾經(jīng)最喜歡看的指南和課程之一。它真的很詳細(xì),而且視頻適合初學(xué)者,觀看起來也很有趣。
去看幾分鐘它的***堂課,看看你是否喜歡那個(gè)老師,然后決定是否開始學(xué)習(xí)Python!官方主頁有這些練習(xí)題和例題的所有鏈接。
7、A Byte of Python
非常像LPTHW(笨辦法學(xué)Python),但是在如何制定完整的學(xué)習(xí)計(jì)劃并實(shí)施,以及如何邁出***步上提供了更深層次的引導(dǎo),而不會(huì)讓你喪失自信心。對(duì)于那些想學(xué)Python的人來說它被認(rèn)為是***的初學(xué)者教程之一,當(dāng)然你要先看看前幾章,是否喜歡它的寫作風(fēng)格。
8、Think Python
Think Python是一個(gè)面向Python初學(xué)者的手冊(cè)。它從編程的基本概念教起,非常詳細(xì)地定義了所有***次會(huì)遇到的術(shù)語,并且很有邏輯地展現(xiàn)新的概念。像遞歸和面向?qū)ο筮@樣大一點(diǎn)的知識(shí)板塊被分成了一系列更小的步驟,穿插于課程幾個(gè)章節(jié)。
在這個(gè)鏈接里你會(huì)發(fā)現(xiàn)有大量的示例代碼。它是最為專業(yè)的書之一,它有一個(gè)很嚴(yán)肅的原則: “像計(jì)算機(jī)科學(xué)家一樣思考”。它需要將近40美元才能買到,但是你可以下載免費(fèi)的PDF和HTML版本。如果從頭開始學(xué)Python的話,肯定會(huì)從它上面得到好處。
9、Python at Learnstreet
你可能會(huì)想有個(gè)網(wǎng)站提供如何在他們頁面上添加HTML代碼的課程,哈哈。嚴(yán)肅一點(diǎn)地說,Learnstreet提供了很棒的Python交互式學(xué)習(xí)教程,就像這篇文章所說的所有東西一樣,它對(duì)初學(xué)者非常友好。如果你遇到了問題,***用Google去搜索。
我最喜歡Learnstreet的一點(diǎn)是每個(gè)練習(xí)后面都有許多提示和解釋,顯示在你編寫代碼的同一個(gè)界面里。
10、The New Boston
如果你更喜歡使用視頻學(xué)習(xí),我不確定是否還有比The New Boston的Python系列視頻教程更全面的了,許多其他的編程語言也可以在他們的YouTube頻道里找到。
它唯一的缺點(diǎn)就是沒有可以閱讀或者下載的資料,你只能看視頻。我是那種不能忍受一直盯著視頻看的程序員,這可能與我選擇Google的Python課程有關(guān),但它們實(shí)在太有趣了。
11、Python @ Coursera
這個(gè)課程是為從來沒接觸過編程的人準(zhǔn)備的。你只需要小學(xué)的數(shù)學(xué)水平就可以了:懂簡(jiǎn)單的數(shù)學(xué)方程和算術(shù)優(yōu)先級(jí),以及像f(x) = x + 5這樣的函數(shù)。
它在十周內(nèi)應(yīng)該可以學(xué)完,每周大概花10小時(shí)來完成課后作業(yè)。如果你有時(shí)間來做這個(gè),并且不會(huì)感到很累,我推薦你注冊(cè)并完成這個(gè)課程,它會(huì)鞏固你的知識(shí),并可以結(jié)合上面介紹的任何一個(gè)資源來更好地理解 Python。
12、Pythonspot
Pythonspot是一個(gè)綜合教程,劃分了很多不同類別的知識(shí)板塊,首先你將擁有初學(xué)者資源來幫你開始Python的學(xué)習(xí),然后你繼續(xù)保持前進(jìn)你能學(xué)到更多關(guān)于使用Python開發(fā)web,創(chuàng)建圖形界面,開發(fā)游戲的內(nèi)容,到那時(shí)你可以準(zhǔn)備學(xué)習(xí)一些更高級(jí)的板塊,像網(wǎng)絡(luò)等等。這些都在一個(gè)地方,非常容易使用。
13、Python Practice Book
從根本上說,這是Anand Chitipothu在他講授Python課程時(shí)使用的資源,但即便你不與Anand本人一起學(xué)習(xí),你仍然可以利用這個(gè)資源來獲取Python在不同角度的見解,以及看到不同開發(fā)者的觀點(diǎn)。
14、Python Tutor
我認(rèn)為這是新手程序員近期能夠上手的***的項(xiàng)目之一,Python Tutor都是在教你當(dāng)執(zhí)行你寫的代碼時(shí)到底發(fā)生了些什么。清楚地了解到如何寫一段程序,能夠理解后臺(tái)程序的每個(gè)命令都是截然不同的。你可以使用自己寫的代碼,也可以使用平臺(tái)提供的代碼。
15、Real Python
雖然這是一個(gè)收費(fèi)的資源,但***的評(píng)論看起來還是相當(dāng)不錯(cuò)的,所以不管怎樣我決定加上這一條。在Real Python需要花費(fèi)60美元來開始你的學(xué)習(xí),將會(huì)有超過1300頁的內(nèi)容和10個(gè)多小時(shí)的視頻供你訪問,還包括以后可以免費(fèi)更新。你能得到來自Real Python團(tuán)隊(duì)的導(dǎo)師的幫助,不過這需要額外的費(fèi)用。以及博客里有適量與代碼相關(guān)的教程能夠給你幫助。
16、Full Stack Python
你能比較熟練地使用Python了,但是你不知道接下來該走什么樣的方向?這個(gè)網(wǎng)絡(luò)課程就是為你解決這個(gè)問題的,通過給你一個(gè)真正的項(xiàng)目去做,幫助你理解怎樣用你學(xué)到的Python知識(shí)建立一個(gè)web應(yīng)用程序和網(wǎng)站。學(xué)會(huì)怎樣積累一些真正的知識(shí)。
17、Invent with Python
教你怎樣使用Python創(chuàng)造一款你自己的電腦游戲。每章為你提供了一個(gè)新游戲完整的源代碼,通過這些例子教你編程的概念。它在網(wǎng)站上可以免費(fèi)閱讀,或者在亞馬遜購(gòu)買。
18、PythonLearn
你是一個(gè)對(duì)信息學(xué)感興趣的家伙嗎?整個(gè)網(wǎng)站的資源都圍繞著確切的話題,所以如果你感興趣的話,去看看可能會(huì)是一件好事。
19、Dive Into Python3
遲早有一天,大多數(shù)的東西都會(huì)使用Python3來構(gòu)建,盡管Python2仍然非常穩(wěn)定并被大量使用,但Python3在過去的兩年里確實(shí)發(fā)展的非常完整了。這本在線書籍所有的內(nèi)容都在幫助你理解Python3是什么,以及如何***地掌握它。
在哪學(xué)習(xí)Python?
事實(shí)證明我自己嘗試了這里大部分的課程,我其實(shí)希望有更多的資源和鏈接加入到這個(gè)列表里來,但我們只是看一下主要的,還有這么多的新知識(shí)是你需要學(xué)習(xí)的。你有什么編程經(jīng)驗(yàn)?你想用你新學(xué)到的技能做些什么?我認(rèn)為任何想建立專業(yè)知識(shí)體系的人首先應(yīng)該明確自己想做什么,然后研究一個(gè)項(xiàng)目直到做完。這樣做的好處是你會(huì)學(xué)到具體的東西,以后開發(fā)一個(gè)類似的項(xiàng)目會(huì)更容易。