學完python之後去看《flask web開發-基於python的web應用開發實戰》為什麼看不懂?

剛開始看就有很多地方不理解,類似程序上下文,請求上下文之類的,有些地方模糊的能理解是什麼意思,有些地方完全不知道作用是什麼,學這本書之前還需要學什麼別的東西么。能幫助我理解這本書的,還是先囫圇吞棗的照著書上把東西寫出來。


那一定是基礎知識不紮實。

在這裡我們建議大家用知識投資的《道、法、器、術、勢》五個工具來完美的執行和落地自學Python,好了,廢話不多書,我們來開始:

————————

第一:道——明確目標

其實很多人在學習Python之前很少想這個,因為很多人說:現在Python很火呀,所以我么需要學。這個其實跟你自己沒有什麼關係,例如:你曾經想做一個網站不會開發,現在可以做了,現在Python很火併且你也要學來找工作,未來Python很火,我具備了Python的技能會不錯。

在一生中,我們或多或少總會卡到目標上。在一些我們擅長的領域,我們會有明確的目標,並且積極指導別人:親!幹事之前,你要先定目標啊!

王健林的小目標,大家在朋友圈也都看過了,他會定先掙它一個億。

第二:法——做好你學習Python的系統規劃

1.目前市場需求主流的崗位里,你得選擇一個其中你目前看來可以學,並且最敢興趣學習的方向;

2.在方向選擇好後,對照招聘網站:拉勾、智聯、Boss直聘等網站的崗位要求,進行學習內容的統計與大概的記錄;

3.分模塊的計劃你學習這個模塊的時間和完成的大概目標;

4.列出你可能出現的學習誤差與為之準備的應對方案;

好了,你發現沒有,其實任何學習重要的不是有什麼資料,核心是如何學,學多久,有沒有時間限制,遇到過自己多次學習某個內容或者其他人學習某個內容,最關鍵的一點是在起步階段,開始屬於激情期,激情在前面釋放越多,後面的持續力就很弱,好了這就是關於學習計劃。

廢話說多了,那我們來看看一個普適性的學習Python的流程;

1天——下載並安裝好學習環境:到www.python.org網站上下載一個python3.0以上的版本。我建議初學者,不要下載具有IDE功能的集成開發環境,比如Eclipse插件等。

4周——下載一些python的學習文檔,比如《簡明Python教程》,《笨辦法學Python》等等。通過學習語法,掌握python中的關鍵字語法,函數語法,數學表達式、變數、數據結構、語法等等等

1. 了解Python是什麼,都能做些什麼?

2. 知道什麼是變數、演算法、解釋器

3. Python基本數據類型

4. 列表和元組的操作方法

5. 字元串操作方法

6. 基本的字典操作方法

7.任何知識它的基礎知識都是有些枯燥的,現在我們就可以動手來做一些邏輯層面的東西了。掌握 if、else、elif、while、for、continue、break和列表推導式等這些語句的使用,還有程序中的異常處理。

2周——看完基礎後,就是做一些小項目鞏固基礎,python具備很好的交互學習模式,對於書本上的例子我們可以通過交互平台進行操練,通過練習加深印象,達到學習掌握的目的。

2周——通過以上三個步驟的學習後,我們大致掌握了python的常用方法、關鍵字用法以及函數語法等。接下去的學習上,我們就可以著手學習常用模塊的使用, 比如os,os.path,sys,string模塊等。我們可以在交互環境中先熟悉使用其中的函數,如果遇到函數的使用上的問題,可以參考python 安裝後的自帶chm幫助文件。

2周——為了更好得掌握python,我們的學習不能只是停留在學習一些語法或者api階段。在此階段中,我們可以嘗試用python解決我們項目中遇到的一 些問題,如果項目不是用python開發的,那我們可以想想能不能用python製作一些項目組可以使用的一些工具(utility),通過這些工具簡化 項目組成員的任務,提高我們的工作效率。如果沒有項目,我們也可以自己找些題目來自己練習練習。

2周——Python庫是Python的精華所在,可以說Python庫組成並且造就了Python,Python庫是Python開發者的利器,所以學習Python庫就顯得尤為重要:

2周——經過以上鍛煉後,我們的python知識水平肯定是越來越高。接下去的學習,我們就要更上一層樓。為了學以致用,真正能應用於項目開發或產品開發,我 們還必須學習企業應用開發中必須要掌握的網路和資料庫的知識。在此的學習就不光是python語言本身的學習了,如果之前沒有學習和掌握很網路和資料庫知 識,在此階段我們可以藉此機會補習一把。

3周——到此階段,我們已經是真正入門了。在接下去的工作中,就是要快速地通過我們的所學來服務項目了。在此階段,我們除了掌握python自帶的模塊外,我 們最好在掌握一些業界廣泛使用的開源框架,比如twisted、peak、django、xml等。通過熟練使用它們,達到閃電開發,大大節省項目寶貴時間。

《Python 核心編程》,介紹了 Python 的一些具體領域的開發方法;

《Python 網路數據採集》,很簡單的爬蟲入門書;

《利用 Python 進行數據分析》,介紹了 Pandas 和 NumPy 的用法;

《Flask Web 開發》,如何用 Flask 寫一個博客。

第三:術——你具體的學習手段

1.每天你計劃學習多少時間?例如一天必須學2小時,每天堅持;

2.每個階段的計劃拖延時間不能高於多少時間?

3.如果一個階段不順利如何調整?

其實很多時候,並不是資料不夠多,而是本身的學習思路和計划出現了問題,那麼其實最後學習Python的結果會變成:懂得了很多道理,收集了很多資料,依然學不好Python。

第四:器——學習的工具和素材

在知乎的所有學習的評中,出來最多的就是書、視頻、網站一大堆,很多人覺得非常的贊,確實如此,但是回頭看,你的網盤裡躺著的500G視頻,還是沒有讓你學會Python,我給大家的建議是:少為多,學為多,做為多,完成為多,而不要做伸手黨。

在主流的學習中,按照學習素材來分,我們分為這幾大類:

——真人:有人給你準備好素材,過程計劃,內容,讓後你只要用心學就行,這個就是大家常說的培訓,屬於懶人成長式。(線下培訓班)

PS:不做任何推薦

——視頻:有人把學習的過程錄製好,你只要按照要求跟著做就行,出現問題你無法及時找到。(真人視頻、代碼視頻)

Python入門_Python入門教程_python入門視頻教程-慕課網

http://blog.fishc.com/category/python

https://ke.qq.com/course/134017#tuin=cd72585

——書本:有人把學習過程幫你寫出來,你只需要跟著書本的過程過就行,然後按照要求學習(實體書籍、電子書)

《簡明Python教程》

《笨辦法學Python》

https://learnpythonthehardway.org/

https://www.kancloud.cn/kancloud/python-basic

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

書籍推薦如下:

————————————————————————

下面我們推薦6本高分書籍給大家,希望大家學習愉快:

1.Python編程:從入門到實踐

豆瓣評分:8.8

內容簡介:本書是一本針對所有層次的Python 讀者而作的Python 入門書。全書分兩部分:第一部分介紹用Python 編程所必須了解的基本概念,包括matplotlib、NumPy 和Pygal 等強大的Python 庫和工具介紹,以及列表、字典、if 語句、類、文件與異常、代碼測試等內容;第二部分將理論付諸實踐,講解如何開發三個項目,包括簡單的Python 2D 遊戲開發如何利用數據生成互動式的信息圖,以及創建和定製簡單的Web 應用,並幫讀者解決常見編程問題和困惑。

豆瓣書友推薦:很好的入門書,簡潔全面,適合小白。learning python之類大磚頭太不友好。這本雖然有些地方講得不深入,但是對新手友好。

————————————————

2."笨辦法"學Python

豆瓣評分:8.0

內容簡介:本書是一本Python入門書籍,適合對計算機了解不多,沒有學過編程,但對編程感興趣的讀者學習使用。這本書以習題的方式引導讀者一步一步學習編程,從簡單的列印一直講到完整項目的實現,讓初學者從基礎的編程技術入手,最終體驗到軟體開發的基本過程。

Zed Shaw完善了這個堪稱世上最好的Python學習系統。只要跟著學習,你就會和迄今為止數十萬Zed教過的初學者一樣獲得成功。

這本書會讓你的每一分鐘投入都有回報。Python是世界上最強大、最受歡迎的編程語言之一,很快你就會成為一名Python程序員。

豆瓣書友推薦:花了一周的時間看完,在以前的基礎上零零碎碎學了一些新的東西,還算是有所收穫,但是前面講的很基礎很簡單,到ex40之後突然難度增加不是很懂在講些什麼。

————————————————

3.Python學習手冊

豆瓣評分:8.1

內容簡介:《Python學習手冊(第3版)》講述了:Python可移植、功能強大、易於使用,是編寫獨立應用程序和腳本應用程序的理想選擇。無論你是剛接觸編程或者剛接觸Python,通過學習《Python學習手冊(第3版)》,你可以迅速高效地精通核心Python語言基礎。讀完《Python學習手冊(第3版)》,你會對這門語言有足夠的了解,從而可以在你所從事的任何應用領域中使用它。

豆瓣書友推薦:用了兩周的時間將這本書啃了一下,還有200多頁的電子版沒看,但還是忍不住先來評論。既是總結自己,也想幫助別人。

本書總評:

優點:解釋詳細,例子豐富;關於Python語言本身的講解全面詳盡而又循序漸進不斷重複,同時詳述語言現象背後的機制和原理;除語言本身,還包含編程實踐和設計以及高級主題。

缺點:有些厚;翻譯不佳;代碼練習題很少;

————————————————

4.Python基礎教程

豆瓣評分:8.0

內容簡介:本書是經典教程的全新改版,作者根據Python 3.0版本的種種變化,全面改寫了書中內容,做到既能「瞻前」也能「顧後」。本書層次鮮明、結構嚴謹、內容翔實,特別是在最後幾章,作者將前面講述的內容應用到了10個引人入勝的項目中,並以模板的形式介紹了項目的開發過程。本書既適合初學者夯實基礎,又能幫助Python程序員提升技能,即使是 Python方面的技術專家,也能從書里找到令你耳目一新的東西。

豆瓣書友推薦:寫得挺生動親民的,很好的入門書。

————————————————

5.Python核心編程

豆瓣評分:8.0

內容簡介:學習專業的Python風格、最佳實踐和好的編程習慣;

·加強對Python對象、內存模型和Python面向對象特性的深入理解;

·構建更有效的Web、CGI、互聯網、網路和其他客戶端/伺服器架構應用程序及軟體;

·學習如何使用Python中的Tkinter和其他工具來開發自己的GUI應用程序及軟體;

·通過用C等語言編寫擴展來提升Python應用程序的性能,或者通過使用多線程增強I/0相關的應用程序的能力;

·學習Python中有關資料庫的API,以及如何在Python中使用各種不同的資料庫系統,包括MySQL、Postgres和 SQLite。

豆瓣書友推薦:了解Python語言方方面面的不錯選擇,雖然版本有些舊,對於較晚接觸Py的人來說,一個「副作用」是可以更多地了解Py的過去。

————————————————

6.流暢的Python

豆瓣評分:9.5

內容簡介:本書由奮戰在Python開發一線近20年的Luciano Ramalho執筆,Victor Stinner、Alex Martelli等Python大咖擔綱技術審稿人,從語言設計層面剖析編程細節,兼顧Python 3和Python 2,告訴你Python中不親自動手實踐就無法理解的語言陷阱成因和解決之道,教你寫出風格地道的Python代碼。

豆瓣書友推薦:非常好的python進階書,翻譯的也不錯,基本上沒有錯誤。協程和元編程死了一堆腦細胞。之前也看了不少文章宣傳py3,但看完這本才最終決定遷到py3。

————————————

——新聞:關於學習的碎片化的諮詢和知識,來用於你的個人成長(微信、知乎、諮詢流)

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

http://python.jobbole.com/

http://www.magedu.com/pythonxx

http://www.pythontab.com/

第五:勢——學習的心態和狀態

1.任何一個學習的過程,看起來很爽,但是做起來就未必了,老掉牙的堅持是必備的。

2.教程選擇一到兩個就OK了,不要求多;

3.多寫代碼,盡量讓代碼擼爽你;

4.盡量多出錯;

————————————

最後給大家貢獻個一月學會Python基礎開發的訓練計劃:

時間分為4周,全部自學,僅提供大綱,適用於Web方向:

1、第一周:讀完《笨辦法學Python》;

2、第二周:寫個爬蟲,需要深入了解re、sqlite3、Queue等幾個模塊,做個簡單爬取;

3、第三周:學習一種Web開發框架,推薦Flask、webpy、Django之類的,學個資料庫,寫個簡單的web應用如博客;

4、第四周:給博客做個小功能並走完測試和伺服器上架;

————————

以上為關於如何自學的一個流程,希望大家拍磚!


這本書是實戰類型的。實戰型書籍的特點就是在短時間內教你儘快做出一個可運行的程序,但相對的各部分內容深度講解就比較有限,這和教材型的書籍是恰好相反的。看這種書的時候不要追求完全理解,先把用法學會,學完了可以找其他材料來補充。

但說到 Context 這個東西,其實並不是 Flask 轉有的,任何 Web 框架都有類似的概念。這主要是因為 Web 伺服器需要支持多用戶並發處理,所以必須有這樣的機制來保證用戶之間彼此不會衝突。如果你從來沒學過 Web 開發,只學過基本的語言概念,是容易覺得迷惑的,因為你寫的客戶端程序基本都是單用戶的,不需要考慮什麼 Context 的問題。學習 Web 框架的話,這道坎你必須跨過去。雖然有點難度,但是你學會以後再去看其他 Web 框架的話,就會覺得容易理解多了。


幾年前還在某校上班的時候,從圖書館借來那本書,我也看不懂。

跟著書上一步一步來,demo是出來了,人也懵逼了,果斷棄之,入了Django的小河溝。

Flask的一個優點是靈活性,對於像我這樣笨笨的新手來說,靈活性意味著什麼,意味著給我一支畫筆,我可以畫任何畫作,但是我卻不知道要畫什麼。

有些人還是適合先固定一個思路,再擴展其他思路,就像上學的時候面對一個數學題,老師給出一個常規化的解法,熟悉之後,對問題的理解也深刻了,再學習使用其他的解法來解題。

根基不牢,地動山搖……


《九陰真經》裡面有一句話:

編程全憑Python引路,Web就靠PHP叩門。


能理解你說的那種情況,比如上下文的概念,如果你覺得這個東西很影響你下一步的學習了,那麼就把這個概念弄懂,比如知乎上有類似的回答:編程中什麼是「Context(上下文)」?。如果暫時沒影響,可以先學習下去,把概念放一放,因為如果是重要的概念,下文還是會出現,這個時候說不定自己能更好的去理解了。重要的是,在實踐中去學習一個個點,不然看到 http,就去學 http, 看到多線程,就去學 操作系統,到最後可能一個都沒學完。


這其實是很正常的,《flask web開發實戰》是一本講web開發的書籍自然牽扯到web開發的方方面面,資料庫的增刪查改,http協議,基礎的html、css等。對於有經驗的程序員來說,狗書不過是經驗的遷移,上手自然很快。但是對於經驗不夠的人來說,狗書是那麼晦澀難懂,完全無法理解。

從你的問題來看,你可能只接觸過flask這一web開發框架,對於裡面的概念不理解是一個很正常的現象。

我的建議是,請繼續堅持擼這本書的代碼,實踐是最好的學習。遇到不會時,查詢各樣的資料,對於你不能理解請求上下文等概念在查詢資料後如果不能理解可以記錄下來,暫時跳過,繼續實踐。在每一章結束後來回顧你寫過的代碼和不理解的概念,會有新的收穫。

最初,請千萬不要因為不會資料庫就又找一本資料庫的書鑽進去,說不定你會陷入很長的遞歸(笑,忘記本來的目的。看看相關博文,大概了解不理解的是怎麼回事即可。知乎關於flask的回答還是挺多的,報錯可以查閱stackoverflow、segmentfault

在實踐完狗書後,你可能對於flask和flask的生態環境已經有了一個大致的概念,不妨試著去實現一些小的應用,比如做爛的學生信息查詢系統(笑。在此時,把狗書當作工具書,相比之前可以照抄代碼,你必須針對實際需求做出修改,同時你可以試試盡量不使用擴展試著實現功能,這個過程能加深你對web框架的理解。此時,對於還不理解的東西要深入,不能只停留在表面,

我自己學習flask的一些經驗,希望能幫到你。


因為你學完Python只是學了Python標準庫的內容,而Web是另外一個方向,所以看不懂是正常的,這就好比會英文字母卻看不懂數學公式一樣。

狗書(flask web這本書)適合反覆看,剛開始可能很多概念不理解,看到後面的時候再回頭看看前面的內容就會闊然開朗。

另外看狗書的時候結合這個專欄Hello, Flask!的文章一起看,一起寫,效果會更好。( @李輝 輝哥,你快回來更新專欄呀~)


先寫出來,

寫著寫著,

很多東西你實現不了,

就會想方設法找答案。

把這本書上的源碼搭建完,

可以成功調試。

(初級水平)

然後用mongodb重構,

又是另一輪坑,

搭建成功。

(中級水平)

進一步理解設計哲學,

(高級水平)


python就是門語言而已。

就像你認識漢字,每個字都認識,可還是看不懂古文。

要看懂古文,你還需要了解語法、句型、詞義等等。

搞web,http協議得了解吧,計算機網路得了解吧,js得了解吧,模版得了解吧。


自己初學時候做的小小小demo

可能會對你了解flask有一點幫助

https://github.com/GooMorning/BlogSystem


路過,和題主同樣的情況。

建議先去寫幾個練手爬蟲。然後就會遇到post,gei,api等更多不懂得,然後對應學習,最後再回來看狗書。我目前在看《html權威指南》,打算看完了再去過一遍廖雪峰的js教程,最後再啃狗書。


你是不是以為會點python就行了?


因為這裡涉及到的不僅僅是Python了,還有http協議,資料庫,伺服器,web前端,設計模式等等知識了。可以先照著書把應用寫出來,後面再一個一個去深入學習。


先囫圇吞棗的去寫


建議先看一下《http權威指南》掃盲,了解一下http請求和響應的完整過程;post,get等請求方式的不同;不同的狀態響應碼,session和cookie。

不管是flask,還是django,tornado,代碼結構就是model,view,form,template,config這幾類的。


不要只去看,要動手。


應該不會吧,當初我做APP需要個後端,於是就靠著這本自己用python擼了一個,你的原因應該是基礎不牢吧


最近正在看這本書,我沒有系統的學過Python,我一上來也看不太懂,也不能說不懂吧,就是有些地方不是很了解,但這並不妨礙你學習和思考呀,比如一個api,你以前可能沒有看過,那沒關係呀,直接跳過活著查一下文檔,但並不會阻礙你對整個系統的了解和學習,但是光看是不夠的,動手擼起來,報錯也沒關係,嘗試去解決它就可以了,而且這本書有提供demo呀,可以去clone下來看看。


先囫圇吞棗的照著書上把東西寫出來,

按照你的情況,能跑起來而且和教程中一樣,已經是巨大的成功了。


Python與web開發沒啥關係.....學會py 不代表學web簡單了……你可以用php,java,node,ruby完成同樣的web。之所以學的不太明白,你應該讀懂http協議,cookie,session這些。然後就好學多啦!http協議重中之重吧!html,css,js這些暫且用最簡單最原始的擼一個crud登陸註冊多條件查詢web基本就算會了!


推薦閱讀:

用Python寫爬蟲,用什麼方式、框架比較好?
如何理解 CGI, WSGI?
WSGI 為什麼很重要?
python搭建網站和cms搭建網站哪個更快,各有何優勢?
Django寫的博客工具?

TAG:Web開發 | Python | Flask | Python框架 |