我們以《三國演義》人名和兵器譜爲例,嘗試讀取不一樣結構的文本文件,而且對其中的信息進行統計分析和可視化。html
如何幫助學生高效入門 Python ,一直是困擾個人問題。python
總結經驗後,我寫下了《如何高效學Python?》一文。git
文中按照自律能力,我把學生分紅了3個類別。github
自律能力最高的,看書就行。文中推薦了我認爲最好的 Python 書籍,有中文譯本;編程
自律能力中等的,能夠學各類輕量級課程組合。除了我當時推薦的課程平臺外,最近我發現 Udemy 上的某些課程,也很不錯;瀏覽器
自律能力較低的,能夠學一門比較完整的專項課程。我推薦了經典 Python 入門課「Programming for Everybody」。微信
這篇文章很受歡迎,多個平臺上閱讀量都數以萬計。網絡
但是,有一個統計規律,我寫做時,彷佛沒有考慮到。框架
直到後來,我收到了多名讀者的留言反饋,才恍然大悟。機器學習
這個統計規律是:
自律能力,和英文能力,是顯著正相關的。
仔細諑磨一下這句話,是否是能品出些滋味來?
若是一個學生自律能力較低,去嘗試 「Programming for Everybody」,結果會發現英文聽不懂,因而放棄……
讀者的反饋,讓我意識到了,找一門靠譜的、全面系統講解 Python 基礎的中文在線課程,是很重要的。
這樣的課程,若是可以達到 「Programming for Everybody」的深度與廣度,那麼學事後,再進一步學數據挖掘、機器學習,乃至深度神經網絡,就能夠水到渠成了。
前幾天,看到賣桃君(MacTalk,池建強老師的公衆號)又重發了《人生苦短,我用 Python》的感言,我就知道又一門 Python 基礎課程來了。
果不其然,池老師推薦的,是他們公司《極客時間》平臺上的一門新 Python 課程《零基礎學 Python》,主講人是尹會生老師,金山軟件西山居技術經理。
雖然我不須要「零基礎」學 Python,可是我很想了解這門課,是否足夠培訓培訓新入學的研究生,迅速掌握 Python 。
我很快就付費訂閱了。
週末,我花了兩個半天的時間,把目前已上線的27個視頻(預計總視頻數量50個),都從頭至尾,完整看了一遍。
許多環節,我都實際跑了代碼,還作了筆記。
我以爲,這門課對於我這個「非零基礎」的學員,有很多幫助和啓發。
若是你一直從事某一方面的工做或研究,即使是 Python 這麼簡單的語言,不少語法和技巧,你也不會常常用到。
用進廢退。不少你學過的東西,也會遺忘掉。
系統地梳理知識體系,能夠幫助本身補足漏洞,不至於常常「從新發明輪子」。
另外,我發現以前教程讀者不斷提出的一些問題,其實都跟 Python 基礎命令的不熟悉有關係。
例如幾乎每次教程,都要用到的文件操做,以讀取外部數據。
你知道能夠用 Pandas 讀取與分析處理 csv 文件或者 Excel 文件。
可是那些非結構化的文本文件,你該如何讀取與分析呢?
若是遇到編碼問題,該怎麼辦?
尹老師在視頻教程中,講解了《三國演義》人名與兵器出現次數統計的例子,讓我眼前一亮,以爲確實是很好的分析案例。
一個例子裏面,不只講解了文件操做,還順帶複習了字符串、列表和字典等多項知識點。
並且我也是個《三國》迷,上中學的時候玩兒《三國志IV》很是上癮。
爲了修改武將技能和數值,還專門學會了16進制。
我在思考,若是換做本身授課,用一樣的數據做爲例子,給學生講文件讀取、字符串拆分、列表循環、字典生成……我會怎麼講呢?
做爲行動派,我馬上就作了個視頻教程出來。
我採用 Jupyter Notebook 撰寫了源代碼,而後調用 mybinder ,把教程的運行環境扔到了雲上。
請點擊這個連接(t.cn/R1TLtxq),直接進入我們的實驗環境。
你不須要在本地計算機安裝任何軟件包。只要有一個現代化瀏覽器(包括Google Chrome, Firefox, Safari和Microsoft Edge等)就能夠了。所有的依賴軟件,我都已經爲你準備好了。
若是你對這個代碼運行環境的構建過程感興趣,歡迎閱讀個人《如何用iPad運行Python代碼?》一文。
瀏覽器中開啓了我們的環境後,請你觀看我給你錄製的視頻教程。
視頻教程的連接在這裏。
但願你能跟着教程,實際操做一遍。這樣收穫會比較大。
教程的末尾,我給你留了一道練習題。說明了練習題的要求,還給出了輔助框架代碼。
請你自行嘗試解決該練習題,以鞏固所學知識。
若是你解完了練習題,或者在解題過程當中遇到了問題,歡迎參考我作的練習解答視頻,覈對參考答案。
這段視頻的連接在這裏。
經過本教程,但願你已經掌握瞭如下知識:
若是你但願在本地,而非雲端運行本教程中的樣例,請使用這個連接(t.cn/R1T4400)下載本文用到的所有源代碼和運行環境配置文件(Pipenv)壓縮包。
而後,請你參考《如何用 pipenv 克隆 Python 教程代碼運行環境?》一文的說明,利用 Pipenv ,在本地構建代碼運行環境。
若是你知道如何使用github,也歡迎用這個連接(t.cn/R1T4iL5)訪問對應的github repo,進行clone或者fork等操做。
固然,要是能給個人repo加一顆星,就更好了。
錄完視頻,我作個對比分析:
我倆的講法,到底有哪些不一樣?
細節的差異,可能有不少。可是大多都不重要。
我只想給尹老師提一個建議——把握節奏。
這裏的節奏,主要是爲了學生和老師分別得到即時反饋用的。
編程不是一門看了,甚至聽了,就能懂的課。
這就是爲何,獲得App至今也沒有上線編程課程。
編程必需要強調訓練,注重實踐。
訓練該在何時作?
來自 Coursera, Udacity, 和 DataCamp 等平臺的經驗是:
間隔必須足夠短。
老師得盯住學生在學完知識點後,旋即練習。
經過練習,把握知識和技能,提高應用能力。
學生在練習中遇到了疑惑,及時提問,加以解決,能夠避免疑問的非線性積攢。
若是你不理解「疑問的非線性積攢」,能夠回憶你學微積分或隨機過程的遭遇。
學生不斷積攢疑問,對老師也會有很大的不利影響。由於老師一樣得不到有效反饋,還覺得學生那邊一切順利呢。
在文件操做這一部分,尹老師確實也留了練習。
# 練習一 文件的建立和使用
1. 建立一個文件,並寫入當前日期
2. 再次打開這個文件,讀取文件的前4個字符後退出
複製代碼
問題在於,有多少學生會主動去 GitHub 上面找到這個練習,並且不但作了,還反饋給老師呢?
他們會拖延,甚至忽略這些練習。
而後一味繼續播放下一集。
看似懂了內容,實際上沒有真正掌握。
一旦中途遇到了比較困難的題目,或者是最後來個「期末考試」(例如項目做業),學生剛剛創建起來的學習興趣和信心,可能會完全崩盤。
仍是回到一開始那個問題——若是學生自律能力足夠強,他也就不須要這門 MOOC 了。
個人視頻教程,就是把尹老師原先直接講解的內容(武器文件讀取與統計)先做爲練習題,佈置給了學生。
剛學完知識後,大部分人,仍是願意在操做成本足夠低的狀況下,去嘗試一下的。
什麼叫「操做成本足夠低」?
看看我採起的這些方法,你就能理解了:
並且,視頻教程末尾,明確說明了,下一個視頻就是講解練習的。
這就指明瞭,本練習的截止日期,就是你播放下一個視頻的時候。
對於自律能力差的學生,不少時候,只能靠這種前面鋪路、後面推一把的方法。
尹老師的教程介紹裏面,相似《三國》武將和兵器譜統計這樣的有趣例子還有很多。
例如查找星座和屬相,用機器學習分類鳶尾花,用爬蟲爬圖片等。
所以,我對後續即將上線的20幾個視頻,仍是很期待的。
《零基礎學 Python》課程對應的 github 項目連接在這裏(t.cn/R1TGsnK)。
裏面不只包括課程已發佈視頻的所有對應代碼,還包含了配套的練習和講義等。你能夠在訂閱課程以前,先瀏覽一下。
若是你對這門課程感興趣,能夠點擊 這個連接 ,掃碼訂閱。
你是經過什麼課程或書籍,入門 Python 的?它有什麼特點?還有哪些值得改進的地方?歡迎留言,把你的經驗和思考分享給你們,咱們一塊兒交流討論。
我們以《三國演義》人名和兵器譜爲例,嘗試讀取不一樣結構的文本文件,而且對其中的信息進行統計分析和可視化。
如何幫助學生高效入門 Python ,一直是困擾個人問題。
總結經驗後,我寫下了《如何高效學Python?》一文。
文中按照自律能力,我把學生分紅了3個類別。
自律能力最高的,看書就行。文中推薦了我認爲最好的 Python 書籍,有中文譯本;
自律能力中等的,能夠學各類輕量級課程組合。除了我當時推薦的課程平臺外,最近我發現 Udemy 上的某些課程,也很不錯;
自律能力較低的,能夠學一門比較完整的專項課程。我推薦了經典 Python 入門課「Programming for Everybody」。
這篇文章很受歡迎,多個平臺上閱讀量都數以萬計。
但是,有一個統計規律,我寫做時,彷佛沒有考慮到。
直到後來,我收到了多名讀者的留言反饋,才恍然大悟。
這個統計規律是:
自律能力,和英文能力,是顯著正相關的。
仔細諑磨一下這句話,是否是能品出些滋味來?
若是一個學生自律能力較低,去嘗試 「Programming for Everybody」,結果會發現英文聽不懂,因而放棄……
讀者的反饋,讓我意識到了,找一門靠譜的、全面系統講解 Python 基礎的中文在線課程,是很重要的。
這樣的課程,若是可以達到 「Programming for Everybody」的深度與廣度,那麼學事後,再進一步學數據挖掘、機器學習,乃至深度神經網絡,就能夠水到渠成了。
前幾天,看到賣桃君(MacTalk,池建強老師的公衆號)又重發了《人生苦短,我用 Python》的感言,我就知道又一門 Python 基礎課程來了。
果不其然,池老師推薦的,是他們公司《極客時間》平臺上的一門新 Python 課程《零基礎學 Python》,主講人是尹會生老師,金山軟件西山居技術經理。
雖然我不須要「零基礎」學 Python,可是我很想了解這門課,是否足夠培訓培訓新入學的研究生,迅速掌握 Python 。
我很快就付費訂閱了。
週末,我花了兩個半天的時間,把目前已上線的27個視頻(預計總視頻數量50個),都從頭至尾,完整看了一遍。
許多環節,我都實際跑了代碼,還作了筆記。
我以爲,這門課對於我這個「非零基礎」的學員,有很多幫助和啓發。
若是你一直從事某一方面的工做或研究,即使是 Python 這麼簡單的語言,不少語法和技巧,你也不會常常用到。
用進廢退。不少你學過的東西,也會遺忘掉。
系統地梳理知識體系,能夠幫助本身補足漏洞,不至於常常「從新發明輪子」。
另外,我發現以前教程讀者不斷提出的一些問題,其實都跟 Python 基礎命令的不熟悉有關係。
例如幾乎每次教程,都要用到的文件操做,以讀取外部數據。
你知道能夠用 Pandas 讀取與分析處理 csv 文件或者 Excel 文件。
可是那些非結構化的文本文件,你該如何讀取與分析呢?
若是遇到編碼問題,該怎麼辦?
尹老師在視頻教程中,講解了《三國演義》人名與兵器出現次數統計的例子,讓我眼前一亮,以爲確實是很好的分析案例。
一個例子裏面,不只講解了文件操做,還順帶複習了字符串、列表和字典等多項知識點。
並且我也是個《三國》迷,上中學的時候玩兒《三國志IV》很是上癮。
爲了修改武將技能和數值,還專門學會了16進制。
我在思考,若是換做本身授課,用一樣的數據做爲例子,給學生講文件讀取、字符串拆分、列表循環、字典生成……我會怎麼講呢?
做爲行動派,我馬上就作了個視頻教程出來。
我採用 Jupyter Notebook 撰寫了源代碼,而後調用 mybinder ,把教程的運行環境扔到了雲上。
請點擊這個連接(t.cn/R1TLtxq),直接進入我們的實驗環境。
你不須要在本地計算機安裝任何軟件包。只要有一個現代化瀏覽器(包括Google Chrome, Firefox, Safari和Microsoft Edge等)就能夠了。所有的依賴軟件,我都已經爲你準備好了。
若是你對這個代碼運行環境的構建過程感興趣,歡迎閱讀個人《如何用iPad運行Python代碼?》一文。
瀏覽器中開啓了我們的環境後,請你觀看我給你錄製的視頻教程。
視頻教程的連接在這裏。
但願你能跟着教程,實際操做一遍。這樣收穫會比較大。
教程的末尾,我給你留了一道練習題。說明了練習題的要求,還給出了輔助框架代碼。
請你自行嘗試解決該練習題,以鞏固所學知識。
若是你解完了練習題,或者在解題過程當中遇到了問題,歡迎參考我作的練習解答視頻,覈對參考答案。
這段視頻的連接在這裏。
經過本教程,但願你已經掌握瞭如下知識:
若是你但願在本地,而非雲端運行本教程中的樣例,請使用這個連接(t.cn/R1T4400)下載本文用到的所有源代碼和運行環境配置文件(Pipenv)壓縮包。
而後,請你參考《如何用 pipenv 克隆 Python 教程代碼運行環境?》一文的說明,利用 Pipenv ,在本地構建代碼運行環境。
若是你知道如何使用github,也歡迎用這個連接(t.cn/R1T4iL5)訪問對應的github repo,進行clone或者fork等操做。
固然,要是能給個人repo加一顆星,就更好了。
錄完視頻,我作個對比分析:
我倆的講法,到底有哪些不一樣?
細節的差異,可能有不少。可是大多都不重要。
我只想給尹老師提一個建議——把握節奏。
這裏的節奏,主要是爲了學生和老師分別得到即時反饋用的。
編程不是一門看了,甚至聽了,就能懂的課。
這就是爲何,獲得App至今也沒有上線編程課程。
編程必需要強調訓練,注重實踐。
訓練該在何時作?
來自 Coursera, Udacity, 和 DataCamp 等平臺的經驗是:
間隔必須足夠短。
老師得盯住學生在學完知識點後,旋即練習。
經過練習,把握知識和技能,提高應用能力。
學生在練習中遇到了疑惑,及時提問,加以解決,能夠避免疑問的非線性積攢。
若是你不理解「疑問的非線性積攢」,能夠回憶你學微積分或隨機過程的遭遇。
學生不斷積攢疑問,對老師也會有很大的不利影響。由於老師一樣得不到有效反饋,還覺得學生那邊一切順利呢。
在文件操做這一部分,尹老師確實也留了練習。
# 練習一 文件的建立和使用
1. 建立一個文件,並寫入當前日期
2. 再次打開這個文件,讀取文件的前4個字符後退出
複製代碼
問題在於,有多少學生會主動去 GitHub 上面找到這個練習,並且不但作了,還反饋給老師呢?
他們會拖延,甚至忽略這些練習。
而後一味繼續播放下一集。
看似懂了內容,實際上沒有真正掌握。
一旦中途遇到了比較困難的題目,或者是最後來個「期末考試」(例如項目做業),學生剛剛創建起來的學習興趣和信心,可能會完全崩盤。
仍是回到一開始那個問題——若是學生自律能力足夠強,他也就不須要這門 MOOC 了。
個人視頻教程,就是把尹老師原先直接講解的內容(武器文件讀取與統計)先做爲練習題,佈置給了學生。
剛學完知識後,大部分人,仍是願意在操做成本足夠低的狀況下,去嘗試一下的。
什麼叫「操做成本足夠低」?
看看我採起的這些方法,你就能理解了:
並且,視頻教程末尾,明確說明了,下一個視頻就是講解練習的。
這就指明瞭,本練習的截止日期,就是你播放下一個視頻的時候。
對於自律能力差的學生,不少時候,只能靠這種前面鋪路、後面推一把的方法。
尹老師的教程介紹裏面,相似《三國》武將和兵器譜統計這樣的有趣例子還有很多。
例如查找星座和屬相,用機器學習分類鳶尾花,用爬蟲爬圖片等。
所以,我對後續即將上線的20幾個視頻,仍是很期待的。
《零基礎學 Python》課程對應的 github 項目連接在這裏(t.cn/R1TGsnK)。
裏面不只包括課程已發佈視頻的所有對應代碼,還包含了配套的練習和講義等。你能夠在訂閱課程以前,先瀏覽一下。
若是你對這門課程感興趣,能夠點擊 這個連接 ,掃碼訂閱。
你是經過什麼課程或書籍,入門 Python 的?它有什麼特點?還有哪些值得改進的地方?歡迎留言,把你的經驗和思考分享給你們,咱們一塊兒交流討論。
喜歡請點贊。還能夠微信關注和置頂個人公衆號「玉樹芝蘭」(nkwangshuyi)。
若是你對數據科學感興趣,不妨閱讀個人系列教程索引貼《如何高效入門數據科學?》,裏面還有更多的有趣問題及解法。