'5年Python開發經驗分享:零基礎如何自學Python?'

"

這是昨天一個加我好友的Python初學者問我的問題:機械工程專業零基礎如何自學Python ?

程序員在普通人眼裡就像魔法師,一個腳本輕鬆搶幾十盒月餅,一個插件解決春運搶票難題,幾行代碼搭建一個網站,用微信自動聊天,在程序員眼裡這些事太稀鬆平常了,他們只不過是利用了編程語言指揮計算機去自動完成一些需要人類重複操作的繁瑣過程,等你會編程也就不覺得大驚小怪了。

有些人學習編程剛一開始頭腦發熱,買了很多書,下載很多視頻,收藏很多電子資料,沒過幾天,熱情就褪去了,最後完成了從入門到放棄的全過程,究其原因主要是缺乏清晰的目標,沒有方向,或者方向不明確。如果你真正想把編程學好,那麼先想想為什麼要學編程,是為了找一份編程工作,還是為了解決某個繁瑣問題,抑或是做個網站給自己用,還是寫個App,或者是爬個數據做分析,最怕的就是不知道為什麼而學,如果僅僅是因為焦慮而學習你也很難學好,很多人跑過來問我入門書看完了,接下來看什麼書?這就是典型的不知道學了有什麼樣,純粹為了學習而學習。

"

這是昨天一個加我好友的Python初學者問我的問題:機械工程專業零基礎如何自學Python ?

程序員在普通人眼裡就像魔法師,一個腳本輕鬆搶幾十盒月餅,一個插件解決春運搶票難題,幾行代碼搭建一個網站,用微信自動聊天,在程序員眼裡這些事太稀鬆平常了,他們只不過是利用了編程語言指揮計算機去自動完成一些需要人類重複操作的繁瑣過程,等你會編程也就不覺得大驚小怪了。

有些人學習編程剛一開始頭腦發熱,買了很多書,下載很多視頻,收藏很多電子資料,沒過幾天,熱情就褪去了,最後完成了從入門到放棄的全過程,究其原因主要是缺乏清晰的目標,沒有方向,或者方向不明確。如果你真正想把編程學好,那麼先想想為什麼要學編程,是為了找一份編程工作,還是為了解決某個繁瑣問題,抑或是做個網站給自己用,還是寫個App,或者是爬個數據做分析,最怕的就是不知道為什麼而學,如果僅僅是因為焦慮而學習你也很難學好,很多人跑過來問我入門書看完了,接下來看什麼書?這就是典型的不知道學了有什麼樣,純粹為了學習而學習。

5年Python開發經驗分享:零基礎如何自學Python?

我們的目的是學以致用,用以促學

以學習爬蟲為例子,你學爬蟲的動機什麼?你的動機可以是從網上獲取一些數據做數據分析,例如,前段時間有位朋友找到我說,他想做一個廠房租賃平臺,開始做之前需要選址,選址就要做市場調查,如果僅憑直覺沒有數據支撐,很難說哪個地方好,最好的辦法使用爬蟲去58這樣的平臺把相關的交易數據爬下來做數據分析,這就是一個很好的動機,而且目標非常明確。

Python 編程有很多方向,有網絡爬蟲、數據分析、Web開發、測試開發、運維開發、機器學習、人工智能、量化交易等等,各個方向對都有特定的技能要求,比如學數據分析就要重點掌握統計學、SQL 等知識,搞運維就要非常熟悉 Linux 系統,所以你首先要清楚你選擇的是什麼方向,這個方向哪些知識需要重要掌握。

以 Web 開發,重點要理解 HTTP 協議,要知道一個網頁從瀏覽器輸入URL開始到頁面出現內容的這個過程發生了什麼,然後要知道 Web 開發涉及的前端知識 HTML、JavaScript、CSS,大概瞭解他們是做什麼的,然後就是學 Python,當然也不是所有的東西都要學,掌握基本的語法,常用的數據類型就差不多可以去實現你的目標了,幾乎所有網站都需要用到數據庫,那麼你至少需要懂一點數據庫的知識,SQL 的增刪改查操作要會,程序寫完了,我們要部署,而系統一般都是運行在 Linux 環境,這個時候你還需要了解如何操作 Linux 命令。

接下來就詳細介紹每個過程如何學習,以及所用到的學習資源和掌握的程度。

HTTP 協議是瀏覽器與服務器通訊的媒介,用戶在瀏覽器輸入URL後瀏覽器會立即向服務器發起一個請求,服務端接收請求後,從數據庫查詢到合適的數據,最終把數據返回給瀏覽器。瀏覽器與服務器之間的通訊嚴格遵守 HTTP 協議,如果你弄懂了 HTTP 協議,那麼也就弄懂了 Web 編程的基本原理,這裡推薦兩本關於 HTTP 協議的書。

  • 《圖解HTTP》
  • 《HTTP權威指南》

前者更偏向於入門,後者適合進階閱讀,前期不一定要細讀,大概理解就行,以後你還會回過頭來學習的。

任何一個做 Web 開發的,離不開前端三劍客,這裡的三劍客是指 HTML、JavaScript、CSS。HTML 是骨架,CSS是外衣,JS控制前兩者,為了滿足更多用戶交互行為需要 JavaScript 來控制。下面推薦的這幾本書對一個初入門的小白來說完全夠用,挑選一兩本就行,也不需要你全部看完,一本書看完前面的 60% 差不多就行了。

  • 《HTML5祕籍(第2版) 》
  • 《HTML5權威指南 》
  • 《Head First HTML與CSS(第2版)》
  • 《CSS權威指南(第3版)》
  • 《JavaScript DOM編程藝術(第2版)》
  • 《JavaScript高級程序設計(第3版)》

不管再忙都要堅持每天要至少保持3個小時以上的練習時間

瞭解了基本的前端知識後,還是有必要了解一下前端的框架,如vue.js、boostrap、react、jquery 等等,雖然不一定每個框架都去學一遍,但至少要知道每個框架的作用,因為以後你不可能什麼都是自己重複造輪子。

學完前端知識後,你現在應該能簡單的做出一些靜態網站出來了,不過,現在幾乎所有的網站都是動態的(這裡的動態不是說動畫效果,而是說頁面數據是動態變化的),就是說數據都是根據登錄用戶個性化推薦的,瀏覽器的請求發送給服務器之後,服務器從數據庫查詢獲得數據返回給瀏覽器,服務器這邊的實現邏輯就需要用 Python 來實現,現在正是開始學 Python 的時候, Python 入門需要掌握的內容包括基本語法、數據結構、常用數據類型和常用的模塊的api方法操作等。關於 Python 的書其實很多,這裡推薦幾本入門和進階。

入門

  1. 《Python簡明教程》
  2. 《Python編程:入門到實踐》
  3. 《Python編程快速上手 : 讓繁瑣工作自動化》

進階

  1. 《流暢的Python》
  2. 《Python Cookbook》
  3. 《Effective Python》

簡明教程就是一本很薄的小冊子,希望你可以認真讀完,後面兩本入門書,至少要把前面的基礎學完,至於後面的實戰,不學也罷,因為你的興趣點不一定在那裡。

"

這是昨天一個加我好友的Python初學者問我的問題:機械工程專業零基礎如何自學Python ?

程序員在普通人眼裡就像魔法師,一個腳本輕鬆搶幾十盒月餅,一個插件解決春運搶票難題,幾行代碼搭建一個網站,用微信自動聊天,在程序員眼裡這些事太稀鬆平常了,他們只不過是利用了編程語言指揮計算機去自動完成一些需要人類重複操作的繁瑣過程,等你會編程也就不覺得大驚小怪了。

有些人學習編程剛一開始頭腦發熱,買了很多書,下載很多視頻,收藏很多電子資料,沒過幾天,熱情就褪去了,最後完成了從入門到放棄的全過程,究其原因主要是缺乏清晰的目標,沒有方向,或者方向不明確。如果你真正想把編程學好,那麼先想想為什麼要學編程,是為了找一份編程工作,還是為了解決某個繁瑣問題,抑或是做個網站給自己用,還是寫個App,或者是爬個數據做分析,最怕的就是不知道為什麼而學,如果僅僅是因為焦慮而學習你也很難學好,很多人跑過來問我入門書看完了,接下來看什麼書?這就是典型的不知道學了有什麼樣,純粹為了學習而學習。

5年Python開發經驗分享:零基礎如何自學Python?

我們的目的是學以致用,用以促學

以學習爬蟲為例子,你學爬蟲的動機什麼?你的動機可以是從網上獲取一些數據做數據分析,例如,前段時間有位朋友找到我說,他想做一個廠房租賃平臺,開始做之前需要選址,選址就要做市場調查,如果僅憑直覺沒有數據支撐,很難說哪個地方好,最好的辦法使用爬蟲去58這樣的平臺把相關的交易數據爬下來做數據分析,這就是一個很好的動機,而且目標非常明確。

Python 編程有很多方向,有網絡爬蟲、數據分析、Web開發、測試開發、運維開發、機器學習、人工智能、量化交易等等,各個方向對都有特定的技能要求,比如學數據分析就要重點掌握統計學、SQL 等知識,搞運維就要非常熟悉 Linux 系統,所以你首先要清楚你選擇的是什麼方向,這個方向哪些知識需要重要掌握。

以 Web 開發,重點要理解 HTTP 協議,要知道一個網頁從瀏覽器輸入URL開始到頁面出現內容的這個過程發生了什麼,然後要知道 Web 開發涉及的前端知識 HTML、JavaScript、CSS,大概瞭解他們是做什麼的,然後就是學 Python,當然也不是所有的東西都要學,掌握基本的語法,常用的數據類型就差不多可以去實現你的目標了,幾乎所有網站都需要用到數據庫,那麼你至少需要懂一點數據庫的知識,SQL 的增刪改查操作要會,程序寫完了,我們要部署,而系統一般都是運行在 Linux 環境,這個時候你還需要了解如何操作 Linux 命令。

接下來就詳細介紹每個過程如何學習,以及所用到的學習資源和掌握的程度。

HTTP 協議是瀏覽器與服務器通訊的媒介,用戶在瀏覽器輸入URL後瀏覽器會立即向服務器發起一個請求,服務端接收請求後,從數據庫查詢到合適的數據,最終把數據返回給瀏覽器。瀏覽器與服務器之間的通訊嚴格遵守 HTTP 協議,如果你弄懂了 HTTP 協議,那麼也就弄懂了 Web 編程的基本原理,這裡推薦兩本關於 HTTP 協議的書。

  • 《圖解HTTP》
  • 《HTTP權威指南》

前者更偏向於入門,後者適合進階閱讀,前期不一定要細讀,大概理解就行,以後你還會回過頭來學習的。

任何一個做 Web 開發的,離不開前端三劍客,這裡的三劍客是指 HTML、JavaScript、CSS。HTML 是骨架,CSS是外衣,JS控制前兩者,為了滿足更多用戶交互行為需要 JavaScript 來控制。下面推薦的這幾本書對一個初入門的小白來說完全夠用,挑選一兩本就行,也不需要你全部看完,一本書看完前面的 60% 差不多就行了。

  • 《HTML5祕籍(第2版) 》
  • 《HTML5權威指南 》
  • 《Head First HTML與CSS(第2版)》
  • 《CSS權威指南(第3版)》
  • 《JavaScript DOM編程藝術(第2版)》
  • 《JavaScript高級程序設計(第3版)》

不管再忙都要堅持每天要至少保持3個小時以上的練習時間

瞭解了基本的前端知識後,還是有必要了解一下前端的框架,如vue.js、boostrap、react、jquery 等等,雖然不一定每個框架都去學一遍,但至少要知道每個框架的作用,因為以後你不可能什麼都是自己重複造輪子。

學完前端知識後,你現在應該能簡單的做出一些靜態網站出來了,不過,現在幾乎所有的網站都是動態的(這裡的動態不是說動畫效果,而是說頁面數據是動態變化的),就是說數據都是根據登錄用戶個性化推薦的,瀏覽器的請求發送給服務器之後,服務器從數據庫查詢獲得數據返回給瀏覽器,服務器這邊的實現邏輯就需要用 Python 來實現,現在正是開始學 Python 的時候, Python 入門需要掌握的內容包括基本語法、數據結構、常用數據類型和常用的模塊的api方法操作等。關於 Python 的書其實很多,這裡推薦幾本入門和進階。

入門

  1. 《Python簡明教程》
  2. 《Python編程:入門到實踐》
  3. 《Python編程快速上手 : 讓繁瑣工作自動化》

進階

  1. 《流暢的Python》
  2. 《Python Cookbook》
  3. 《Effective Python》

簡明教程就是一本很薄的小冊子,希望你可以認真讀完,後面兩本入門書,至少要把前面的基礎學完,至於後面的實戰,不學也罷,因為你的興趣點不一定在那裡。

5年Python開發經驗分享:零基礎如何自學Python?

不管再忙都要堅持每天要至少保持3個小時以上的練習時間

現在差不多可以用 Python 來做很多事情了,但是你還不知道如何寫一個 Web 應用,因為你可能不知道怎麼操作數據庫,怎麼寫 SQL 語句,對數據庫進行增刪查改,所以,別急,先學學數據庫知識吧,MySQL 是最流行的數據庫系統,大公司都在用。最基本的數據庫操作就是要知道什麼表、行、列、主鍵、外鍵、索引這些概念,稍微複雜的就是查詢,有分組查詢,聯合查詢等各種條件查詢,你需要掌握這些基本操作。

《SQL基礎教程》

《MySQL必知必會》

這兩本數都是面向初學者的基礎教程,挑選一本就夠了,除了MySQL,還有PostgreSQL、Oralce、SQL Server 都屬於關係型數據庫,另外也有 MongoDB、Redis 這樣的非關係型數據庫,你可以相應的都去了解一下,不一定非要馬上就學。學完數據庫之後,你要想的一個問題就是如何用 Python 操作數據庫的 CRUD,雖然沒有專門的書籍講這個,但是網上有很多教程寫如何用 Python 操作 MySQL 的,所以,學會利用搜索引擎非常重要,為了防止忘記前面的內容,也要不時地複習、練習前面的內容。

不管再忙都要堅持每天要至少保持3個小時以上的練習時間 。

現在你差不多所有的基礎知識都有所掌握,終於可以磨刀霍霍迫不及待開始第一個真正屬於你自己作品的開發之旅了,因為前面你已經掌握了 HTTP 協議,所以現在你可以選擇一個 Web 框架,基於這個框架來開發我們的 Web 網站,這裡推薦使用 Flask,這個框架比較流行,然後又是一個比較輕量級的框架,非常靈活。有對應的一本著名的狗書《Flask Web開發:基於Python的Web應用開發實戰》。一個完整的 Web 網站從前端 HTML、CSS、JavaScript再到後端 Flask,數據庫連接、CRUD操作基本都能跑通了,項目差不多基本成型,只剩下最後一個步驟,就是如何把做好的程序發佈到服務器讓它一直穩定的運行,持續提供服務。

通常,我們的 Web 程序會部署在 Linux 服務器,很少有用 Windows 作服務器的,所以,熟悉 Linux系 統還是非常有必要的,Linux 要掌握到什麼程度呢?當然,至少要會基本的 Linux 命令操作才行,推薦下面這幾本書

《快樂的Linux命令行》

《鳥哥的Linux私房菜》

《Linux命令行與shell腳本編程大全》

熟悉完 Linux,程序也部署好了,其實還差一步,網站需要一個好記的域名方便別人訪問,畢竟沒人能記住你的 IP,所以,後期的域名購買,HTTPS 配置,Nginx 配置,都可以在網上找到相應的答案。

不管再忙都要堅持每天要至少保持3個小時以上的練習時間 。

你的打怪升級過程一定是一個曲折的,痛並快樂著的過程。

最後祝你升級成功。

"

這是昨天一個加我好友的Python初學者問我的問題:機械工程專業零基礎如何自學Python ?

程序員在普通人眼裡就像魔法師,一個腳本輕鬆搶幾十盒月餅,一個插件解決春運搶票難題,幾行代碼搭建一個網站,用微信自動聊天,在程序員眼裡這些事太稀鬆平常了,他們只不過是利用了編程語言指揮計算機去自動完成一些需要人類重複操作的繁瑣過程,等你會編程也就不覺得大驚小怪了。

有些人學習編程剛一開始頭腦發熱,買了很多書,下載很多視頻,收藏很多電子資料,沒過幾天,熱情就褪去了,最後完成了從入門到放棄的全過程,究其原因主要是缺乏清晰的目標,沒有方向,或者方向不明確。如果你真正想把編程學好,那麼先想想為什麼要學編程,是為了找一份編程工作,還是為了解決某個繁瑣問題,抑或是做個網站給自己用,還是寫個App,或者是爬個數據做分析,最怕的就是不知道為什麼而學,如果僅僅是因為焦慮而學習你也很難學好,很多人跑過來問我入門書看完了,接下來看什麼書?這就是典型的不知道學了有什麼樣,純粹為了學習而學習。

5年Python開發經驗分享:零基礎如何自學Python?

我們的目的是學以致用,用以促學

以學習爬蟲為例子,你學爬蟲的動機什麼?你的動機可以是從網上獲取一些數據做數據分析,例如,前段時間有位朋友找到我說,他想做一個廠房租賃平臺,開始做之前需要選址,選址就要做市場調查,如果僅憑直覺沒有數據支撐,很難說哪個地方好,最好的辦法使用爬蟲去58這樣的平臺把相關的交易數據爬下來做數據分析,這就是一個很好的動機,而且目標非常明確。

Python 編程有很多方向,有網絡爬蟲、數據分析、Web開發、測試開發、運維開發、機器學習、人工智能、量化交易等等,各個方向對都有特定的技能要求,比如學數據分析就要重點掌握統計學、SQL 等知識,搞運維就要非常熟悉 Linux 系統,所以你首先要清楚你選擇的是什麼方向,這個方向哪些知識需要重要掌握。

以 Web 開發,重點要理解 HTTP 協議,要知道一個網頁從瀏覽器輸入URL開始到頁面出現內容的這個過程發生了什麼,然後要知道 Web 開發涉及的前端知識 HTML、JavaScript、CSS,大概瞭解他們是做什麼的,然後就是學 Python,當然也不是所有的東西都要學,掌握基本的語法,常用的數據類型就差不多可以去實現你的目標了,幾乎所有網站都需要用到數據庫,那麼你至少需要懂一點數據庫的知識,SQL 的增刪改查操作要會,程序寫完了,我們要部署,而系統一般都是運行在 Linux 環境,這個時候你還需要了解如何操作 Linux 命令。

接下來就詳細介紹每個過程如何學習,以及所用到的學習資源和掌握的程度。

HTTP 協議是瀏覽器與服務器通訊的媒介,用戶在瀏覽器輸入URL後瀏覽器會立即向服務器發起一個請求,服務端接收請求後,從數據庫查詢到合適的數據,最終把數據返回給瀏覽器。瀏覽器與服務器之間的通訊嚴格遵守 HTTP 協議,如果你弄懂了 HTTP 協議,那麼也就弄懂了 Web 編程的基本原理,這裡推薦兩本關於 HTTP 協議的書。

  • 《圖解HTTP》
  • 《HTTP權威指南》

前者更偏向於入門,後者適合進階閱讀,前期不一定要細讀,大概理解就行,以後你還會回過頭來學習的。

任何一個做 Web 開發的,離不開前端三劍客,這裡的三劍客是指 HTML、JavaScript、CSS。HTML 是骨架,CSS是外衣,JS控制前兩者,為了滿足更多用戶交互行為需要 JavaScript 來控制。下面推薦的這幾本書對一個初入門的小白來說完全夠用,挑選一兩本就行,也不需要你全部看完,一本書看完前面的 60% 差不多就行了。

  • 《HTML5祕籍(第2版) 》
  • 《HTML5權威指南 》
  • 《Head First HTML與CSS(第2版)》
  • 《CSS權威指南(第3版)》
  • 《JavaScript DOM編程藝術(第2版)》
  • 《JavaScript高級程序設計(第3版)》

不管再忙都要堅持每天要至少保持3個小時以上的練習時間

瞭解了基本的前端知識後,還是有必要了解一下前端的框架,如vue.js、boostrap、react、jquery 等等,雖然不一定每個框架都去學一遍,但至少要知道每個框架的作用,因為以後你不可能什麼都是自己重複造輪子。

學完前端知識後,你現在應該能簡單的做出一些靜態網站出來了,不過,現在幾乎所有的網站都是動態的(這裡的動態不是說動畫效果,而是說頁面數據是動態變化的),就是說數據都是根據登錄用戶個性化推薦的,瀏覽器的請求發送給服務器之後,服務器從數據庫查詢獲得數據返回給瀏覽器,服務器這邊的實現邏輯就需要用 Python 來實現,現在正是開始學 Python 的時候, Python 入門需要掌握的內容包括基本語法、數據結構、常用數據類型和常用的模塊的api方法操作等。關於 Python 的書其實很多,這裡推薦幾本入門和進階。

入門

  1. 《Python簡明教程》
  2. 《Python編程:入門到實踐》
  3. 《Python編程快速上手 : 讓繁瑣工作自動化》

進階

  1. 《流暢的Python》
  2. 《Python Cookbook》
  3. 《Effective Python》

簡明教程就是一本很薄的小冊子,希望你可以認真讀完,後面兩本入門書,至少要把前面的基礎學完,至於後面的實戰,不學也罷,因為你的興趣點不一定在那裡。

5年Python開發經驗分享:零基礎如何自學Python?

不管再忙都要堅持每天要至少保持3個小時以上的練習時間

現在差不多可以用 Python 來做很多事情了,但是你還不知道如何寫一個 Web 應用,因為你可能不知道怎麼操作數據庫,怎麼寫 SQL 語句,對數據庫進行增刪查改,所以,別急,先學學數據庫知識吧,MySQL 是最流行的數據庫系統,大公司都在用。最基本的數據庫操作就是要知道什麼表、行、列、主鍵、外鍵、索引這些概念,稍微複雜的就是查詢,有分組查詢,聯合查詢等各種條件查詢,你需要掌握這些基本操作。

《SQL基礎教程》

《MySQL必知必會》

這兩本數都是面向初學者的基礎教程,挑選一本就夠了,除了MySQL,還有PostgreSQL、Oralce、SQL Server 都屬於關係型數據庫,另外也有 MongoDB、Redis 這樣的非關係型數據庫,你可以相應的都去了解一下,不一定非要馬上就學。學完數據庫之後,你要想的一個問題就是如何用 Python 操作數據庫的 CRUD,雖然沒有專門的書籍講這個,但是網上有很多教程寫如何用 Python 操作 MySQL 的,所以,學會利用搜索引擎非常重要,為了防止忘記前面的內容,也要不時地複習、練習前面的內容。

不管再忙都要堅持每天要至少保持3個小時以上的練習時間 。

現在你差不多所有的基礎知識都有所掌握,終於可以磨刀霍霍迫不及待開始第一個真正屬於你自己作品的開發之旅了,因為前面你已經掌握了 HTTP 協議,所以現在你可以選擇一個 Web 框架,基於這個框架來開發我們的 Web 網站,這裡推薦使用 Flask,這個框架比較流行,然後又是一個比較輕量級的框架,非常靈活。有對應的一本著名的狗書《Flask Web開發:基於Python的Web應用開發實戰》。一個完整的 Web 網站從前端 HTML、CSS、JavaScript再到後端 Flask,數據庫連接、CRUD操作基本都能跑通了,項目差不多基本成型,只剩下最後一個步驟,就是如何把做好的程序發佈到服務器讓它一直穩定的運行,持續提供服務。

通常,我們的 Web 程序會部署在 Linux 服務器,很少有用 Windows 作服務器的,所以,熟悉 Linux系 統還是非常有必要的,Linux 要掌握到什麼程度呢?當然,至少要會基本的 Linux 命令操作才行,推薦下面這幾本書

《快樂的Linux命令行》

《鳥哥的Linux私房菜》

《Linux命令行與shell腳本編程大全》

熟悉完 Linux,程序也部署好了,其實還差一步,網站需要一個好記的域名方便別人訪問,畢竟沒人能記住你的 IP,所以,後期的域名購買,HTTPS 配置,Nginx 配置,都可以在網上找到相應的答案。

不管再忙都要堅持每天要至少保持3個小時以上的練習時間 。

你的打怪升級過程一定是一個曲折的,痛並快樂著的過程。

最後祝你升級成功。

5年Python開發經驗分享:零基礎如何自學Python?

"

相關推薦

推薦中...