1.
之前那篇「萬字諫言,給那些想學Python的人,建議收藏後細看!」得到很多後臺讀者的留言,表示想再來點,甚至說萬字系?你知道萬字有多少麼?不要槓我根本沒有萬字!不叫萬字你能看到這篇良心嘛!
那憋了3天了,今天放個web好了,相信很多讀者都有關注web開發,那我們今天就來聊聊web怎麼學,學什麼。
2.
Python目前應用領域實在太多,這也是他這麼火的原因吧,這裏熄火,那邊着了。
不過我認爲目前Python作爲應用領域來說幾個方向是值得肯定的:人工智能、大數據分析、DevOps、Web、自動化測試、爬蟲。
這一看,好像也差不多了麼……
不過作爲零基礎或者剛入門Python的,你也有幸看了那篇萬字後,走到了這,那我認爲你的ls.py 和find.py 已經寫的差不多了。接下來需要往應用方向上靠了。
那我們今天就把目光放在Web這跟線上,其他的先暫時不表,來討論下「Python Web 如何入門及深入」。
3.
之前說的Python入門中,說的是術,是告訴大家怎麼去實踐,那今天要說的就是道,就是大方向。
在Python基礎方向,我認爲必須掌握的技能有:
- 基本數據類型、內置數據結構
- 函數、高階函數、裝飾器
- 迭代器、生成器
面向對象(你可以不用考慮複雜的dunder方法,以及反射、元編程等)
以上,可能在裝飾器會有問題,怎麼辦?跟着例子多敲幾遍代碼,打斷點跟着解釋器走幾遍流程,自然就清楚怎麼回事了。再不濟,你print總可以吧?
由於不能給超鏈接,大家就自己百度谷歌一下網址吧。
學習網站:
- Python官網
- 廖雪峯大神的,注意一定要看Python 3.x哦!
學習參考書:
- 笨辦法學Python,在哪我都推這本書,只是因爲夠簡單,書多了反而容易陷入誤區,不如就看一本。
4.
以上基礎打紮實了,接下來就來接觸點Web知識,如果你要問爲什麼不是去學框架,原因很簡單,沒有九陽神功護體,乾坤大挪移只會把自己廢了,看看陽教主就知道了。
所以在真正的開始Web之前就要了解點Web知識了:
- html/css、Bootstrap
- Javascript
- JQuery、Ajax 、ECharts
現在大家都知道前端已經不在是以前的jquery天下了,那爲什麼還要學呢?因爲現在我們是學Python,不是前端,沒必要把精力耗在這上面,學Web是爲了能出界面。
而以上這些已經夠用了,JS可能成爲你的砍,不過好在有Python的基礎,需要習慣的可能就是JS語法和Python的差別。
那這裏同樣也推薦幾個網站和參考書
學習網站:
- w3school
- 菜鳥教程
學習參考書:
- O’Reilly精品圖書系列:JavaScript權威指南(第6版),我覺得一本就夠了,html/css這種網上看看就完事兒了。
5.
好,到了這裏,我們可以開始學習Python的Web框架了。
那作爲框架來說,他會多少幫你做掉一些事情,作爲新手的你,一定搜過「Python Web框架哪個好?」「Python Web框架優缺點」等等,今天就給你個痛快,別搜了,還是那句話,網上的東西太多了,甄別度低,對你幫助不大。
那接下來我就說一下我對幾個框架的理解:
- Django
Python Web框架中最全的框架,沒有之一,甚至我可以說,Django拿到外面的世界,和其他語言的Web框架比一比,都能贏得很體面。
他有強大的後臺,所謂的後臺就是你寫博客網站時的編輯界面,你做電商時候的發佈平臺,而這一切,只需要你啓動Django項目就有了。
但是Django幫我們代理了太多太多,導致很多人看着教程走了一遍,學會了個人博客,真以爲自己是綠林好漢了,結果連一板斧都沒學到,問啥啥不會,就只知道寫個函數,加到urls.py裏,request怎麼過來的,裏面都有什麼包,Django是怎麼把響應返回的,不知道。
- Flask
Flask是一個輕量級的Python Web框架,我個人比較喜歡,因爲他的輕量,我們可以自己做很多的事情,記住了哦,輕量不是簡單,只是把核心功能留住了,那你可以想一想了,作爲一個Web框架,他的核心是什麼?
Flask適合初學者使用, 因爲你不會因爲過度依賴框架,而失去自己鍛鍊的機會。初學,要的就是鍛鍊,用了Django後,你可能就會失去這項能力。
- Tornado
一個異步框架,很顯然,現在的你可能觸及這個有點早了,先把同步異步,阻塞非阻塞弄清楚再來了解吧。
至於其他的一些框架諸如web2,bottle我都是不推薦使用的,倒是可以拿來看看源代碼,學習一下作者的思想,這倒是極好的。
學習網站:
- Django官網
- Flask官網
學習參考書:
- O'REILLY Flask Web開發
6.
最後還是建議大家有空的可以買本「Python Cookbook」看看,真的很贊,看完後總有種讚歎不已,恨自己不能把它吃了……
如果覺得這篇文章還不錯,歡迎轉發,讓更多的學習Python的人看到~