零基礎自學Python的超級乾貨:何謂入門

2020-09-15 巴啦啦Ben

背單詞,一次又一次,從「abandon」開始。

背單詞,一次又一次,從「abandon」開始。

學編程,一次又一次,從「hello world」開始。

你有沒有類似的經歷?某個技能最初的那個知識點,總記得特別牢。因為每次想學習這個技能時,這個知識點都會被拿出來學一次。

這種現象在大多數人身上都有。就像 abandon,並不是英語中最簡單的單詞,卻肯定是大部分人都會的單詞。

為什麼會這樣?為什麼我們總要一次次從頭學呢?

這種狀態,就是「沒入門」。

只有「沒入門」的東西,才需要每次想掌握的時候,都從頭開始。


吉他,我曾自學過幾節課,如果以後想學的話,又要重新學。那麼,上次的學習就不能稱得上入門。

沒能學到入門程度的東西,從時間使用的角度看,非常失敗。因為明明花了時間,卻沒有任何收穫——下次還得從頭來過。

所以,當我們想學會一項技能時,不管你的具體目標是什麼,都必須內置一個基礎目標,就是至少要達到入門的程度

想學會一項技能的第一奧義是:預留足夠的時間預算。當然如果只想涉獵一下,另當別論。我們這篇談論的目標是「學會」。

不管你聰明與否,會走多少彎路,用什麼學習材料,只要投入足夠的時間預算,就一定能學會一項技能——只要確定這世界上已經有很多人學會過這個技能。

最有用的道理,往往是最簡單的那一個。

如果你的目的只是了解了解,那就不需要考慮時間預算的問題。了解這件事,可深可淺,隨心所至,高興就好。

如果你抱著要學會的目標,而實際上卻沒有為學習預留足夠的時間預算,浪費了時間不說,還會給自己帶來心理上的負面反饋。

目的不同,思考不同,行動不同。讓自己知行合一,活得就不會那麼擰巴。


在留足時間預算的前提下,何謂 Python 入門,我覺得下面三個標準可以用來自我評估。

能夠理解完整框架。沒有搞清楚全局,通常是一遍又一遍反覆重新開始的原因之一。我們在初學一門手藝的時候,可以全局先過一遍概念和知識框架,這種 TopDown 的學習方式,是我們在學校學習時很少用到的。

想想看,我們學數學的時候,有沒有專門了解過數學知識的整體結構?恐怕大學上完了,也沒幾個人能說出來。

張野(blueeyezhy.github.io)總結了 Python 編程全局知識包括:基礎知識(基本語法、數據結構、運算與算法、函數、類與對象、模塊與包、IO 操作、正則),爬蟲,數據分析,web 程序,進程與線程,app 程序,前臺 (HTML,css,js),後臺 (資料庫,站點),信息交互,同步與異步,請求與響應,Github,安全。

雖然沒有分得很細,但起碼描出一個全景地圖的樣子。

我個人推薦的入門節奏是:

我選擇學習的模塊是爬蟲和數據分析,一方面因為工作生活中用得上,另一方面因為這兩部分和編程其他知識的關聯較少,適合外行新手突破,容易建立正反饋。

爬蟲和數據分析,推薦學習材料:


能夠用起來。能不能把技能用來解決實際問題、做出作品,是檢驗是否學會一項技能的硬標準。對於 Python 來說,函數是解決問題的最小單元,每個函數都是在解決一個具體的小問題。

所以,當你有能力寫出一個個單一功能的函數時,就已經掌握了使用 Python 的能力。《自學是門手藝》這本書的第二章【函數】,一定要認真讀透。這篇文章的最後,是我整理的這一章學習筆記。

推薦數據分析實戰方面的兩個付費小課,都是我看過的。不貴,看你是否感興趣或用得上了:


能夠讀懂相關知識。說得再狠一點,是能夠讀懂相關的所有知識。這個放在「入門」的標準裡,其實並不高。因為這一點不是要求你掌握關於這項技能具體的知識,而是要求你掌握一個關鍵的方法論。對於Python來說,就是要求你有能力讀懂和使用官方文檔 —— 甚至是各種程式語言、各種軟體的相關文檔(尤其是它們的官方文檔)。

對英文不夠好的新手來說,讀懂官方文檔是有難度的。好在,Python的官方文檔中文版翻譯得很好。但是我們還是應該努力去讀懂英文版文檔,這對編程能力會有很大的幫助。所以一個好策略就是中英對照使用

舉個使用Python官方文檔的具體例子。方便、實用又簡單。

我在《自學是門手藝》中看到一個例子:

其中的sorted() 是一個非常簡單的排序函數,就是按照某個指定的規則排序。但是這段代碼中的 key=x.index,讓我很困惑,我知道它是指定的排序規則,但是讀不懂是什麼排序規則。這時候,最好的辦法就是求助官方文檔。

① 同時打開這兩個網頁:

https://docs.python.org/zh-cn/3/contents.html(中文版)

https://docs.python.org/3/contents.html(英文版)

② 各自搜索關鍵字 sorted:

③ 各自打開關於內置函數 sorted 的頁面:

④ 找到並對照閱讀我們需要的內容:

如果你學過Python基礎知識,理解這段話不難。那麼上面那段代碼,我也就理解了。key=x.index 是指按照列表x中各元素的索引值排序。

參數、鍵、索引,這些都是Python的基礎知識,《學習是門手藝》這本書講這些基礎講得很好,你也可以直接去讀官方文檔教程的部分(https://docs.python.org/zh-cn/3/tutorial/index.html)。去學就好了,這裡不要糾結這些具體的東西,關鍵是學會並習慣使用官方文檔

另外,還可以用 Google 快速搜索Python官方文檔中的所需內容:sorted site:python.org。

雖然這部分操作介紹有點囉嗦、看似過於簡單,但我認為對外行新手來說,值得細碎一點。因為高手們通常都不知道我們莫名其妙地卡在哪裡

這部分推薦的,可能是這個系列最重要的學習材料:


有了官方文檔,理論上來說,你就能讀懂關於 Python 的所有知識,爽不爽?


本篇推薦材料匯總:



附《自學是門手藝》第二章【函數】學習筆記(高清腦圖、文字版及每期超級乾貨材料匯總,請在公眾號回復「自學Python」下載)。

大家千萬不要認為看我的腦圖就能學會Python,腦圖都是畫給自己看的。想學會Python得去看文章中提到的學習材料,自己做整理。

這個系列,至少前幾篇是不會講具體知識的;但我可能更了解外行新手的問題所在。市面上關於Python的優質教學材料實在太多了,我們不需要再去做教程。對新手的重點是——如何認知學習Python,如何能夠學下去、學進去。

事實上,你可以把這個系列看做是一些優質學習材料的「認知鋪墊」。希望和你一起學會Python,加油。

學編程,一次又一次,從「hello world」開始。

你有沒有類似的經歷?某個技能最初的那個知識點,總記得特別牢。因為每次想學習這個技能時,這個知識點都會被拿出來學一次。

這種現象在大多數人身上都有。就像 abandon,並不是英語中最簡單的單詞,卻肯定是大部分人都會的單詞。

為什麼會這樣?為什麼我們總要一次次從頭學呢?

這種狀態,就是「沒入門」。

只有「沒入門」的東西,才需要每次想掌握的時候,都從頭開始。

所謂入門,就是至少要學到「不管放下多久,都不需要從頭開始」的程度。


吉他,我曾自學過幾節課,如果以後想學的話,又要重新學。那麼,上次的學習就不能稱得上入門。

沒能學到入門程度的東西,從時間使用的角度看,非常失敗。因為明明花了時間,卻沒有任何收穫——下次還得從頭來過。

所以,當我們想學會一項技能時,不管你的具體目標是什麼,都必須內置一個基礎目標,就是至少要達到入門的程度

想學會一項技能的第一奧義是:預留足夠的時間預算。當然如果只想涉獵一下,另當別論。我們這篇談論的目標是「學會」。

不管你聰明與否,會走多少彎路,用什麼學習材料,只要投入足夠的時間預算,就一定能學會一項技能——只要確定這世界上已經有很多人學會過這個技能。

最有用的道理,往往是最簡單的那一個。

如果你的目的只是了解了解,那就不需要考慮時間預算的問題。了解這件事,可深可淺,隨心所至,高興就好。

如果你抱著要學會的目標,而實際上卻沒有為學習預留足夠的時間預算,浪費了時間不說,還會給自己帶來心理上的負面反饋。

目的不同,思考不同,行動不同。讓自己知行合一,活得就不會那麼擰巴。


在留足時間預算的前提下,何謂 Python 入門,我覺得下面三個標準可以用來自我評估。

1. 能夠理解完整框架。沒有搞清楚全局,通常是一遍又一遍反覆重新開始的原因之一。我們在初學一門手藝的時候,可以全局先過一遍概念和知識框架,這種 TopDown 的學習方式,是我們在學校學習時很少用到的。

想想看,我們學數學的時候,有沒有專門了解過數學知識的整體結構?恐怕大學上完了,也沒幾個人能說出來。

張野(blueeyezhy.github.io)總結了 Python 編程全局知識包括:基礎知識(基本語法、數據結構、運算與算法、函數、類與對象、模塊與包、IO 操作、正則),爬蟲,數據分析,web 程序,進程與線程,app 程序,前臺 (HTML,css,js),後臺 (資料庫,站點),信息交互,同步與異步,請求與響應,Github,安全。

雖然沒有分得很細,但起碼描出一個全景地圖的樣子。

我個人推薦的入門節奏是:

① 先認真學會 Python 基本知識【推薦材料,見系列(一)】

② 把上述模塊概念挨個搜索一遍,至少搞懂都是什麼意思

③ 挑自己感興趣或工作中用得上的模塊,攻堅突破

我選擇學習的模塊是爬蟲和數據分析,一方面因為工作生活中用得上,另一方面因為這兩部分和編程其他知識的關聯較少,適合外行新手突破,容易建立正反饋。

爬蟲和數據分析,推薦學習材料:

  • 風變編程-Python爬蟲精進:pypypy.cn【這個課是付費的,但我學的是這個,質量憑心說不錯。目前我沒有免費、系統的爬蟲入門課推薦,歡迎大家補充推薦】
  • xue.cn:《跟老齊學 Python:數據分析》【NumPy、Pandas、Matplotlib、Seaborn等非常實用的數據分析模塊學習】

2. 能夠用起來。能不能把技能用來解決實際問題、做出作品,是檢驗是否學會一項技能的硬標準。對於 Python 來說,函數是解決問題的最小單元,每個函數都是在解決一個具體的小問題。

所以,當你有能力寫出一個個單一功能的函數時,就已經掌握了使用 Python 的能力。《自學是門手藝》這本書的第二章【函數】,一定要認真讀透。這篇文章的最後,是我整理的這一章學習筆記。

推薦數據分析實戰方面的兩個付費小課,都是我看過的。不貴,看你是否感興趣或用得上了:

  • Python新冠病毒疫情數據分析:https://course.metrodata.cn/course/detail/21
  • Python股票量化分析-擇時策略優化:https://course.metrodata.cn/course/detail/25

3. 能夠讀懂相關知識。說得再狠一點,是能夠讀懂相關的所有知識。這個放在「入門」的標準裡,其實並不高。因為這一點不是要求你掌握關於這項技能具體的知識,而是要求你掌握一個關鍵的方法論。對於Python來說,就是要求你有能力讀懂和使用官方文檔 —— 甚至是各種程式語言、各種軟體的相關文檔(尤其是它們的官方文檔)。

對英文不夠好的新手來說,讀懂官方文檔是有難度的。好在,Python的官方文檔中文版翻譯得很好。但是我們還是應該努力去讀懂英文版文檔,這對編程能力會有很大的幫助。所以一個好策略就是中英對照使用

舉個使用Python官方文檔的具體例子。方便、實用又簡單。

我在《自學是門手藝》中看到一個例子:

x = [&34;, &34;, &34;, &34;, &34;, &34;, &34;]

y = sorted(set(x),key=x.index)

print(y)

其中的sorted() 是一個非常簡單的排序函數,就是按照某個指定的規則排序。但是這段代碼中的 key=x.index,讓我很困惑,我知道它是指定的排序規則,但是讀不懂是什麼排序規則。這時候,最好的辦法就是求助官方文檔。

① 同時打開這兩個網頁:

https://docs.python.org/zh-cn/3/contents.html(中文版)

https://docs.python.org/3/contents.html(英文版)

② 各自搜索關鍵字 sorted:

③ 各自打開關於內置函數 sorted 的頁面:

④ 找到並對照閱讀我們需要的內容:

key specifies a function of one argument that is used to extract a comparison key from each element in iterable (for example, key=str.lower). The default value is None (compare the elements directly).

key 指定帶有單個參數的函數,用於從 iterable 的每個元素中提取用於比較的鍵 (例如 key=str.lower)。默認值為 None (直接比較元素)。

如果你學過Python基礎知識,理解這段話不難。那麼上面那段代碼,我也就理解了。key=x.index 是指按照列表x中各元素的索引值排序。

參數、鍵、索引,這些都是Python的基礎知識,《學習是門手藝》這本書講這些基礎講得很好,你也可以直接去讀官方文檔教程的部分(https://docs.python.org/zh-cn/3/tutorial/index.html)。去學就好了,這裡不要糾結這些具體的東西,關鍵是學會並習慣使用官方文檔

另外,還可以用 Google 快速搜索Python官方文檔中的所需內容:sorted site:python.org。

雖然這部分操作介紹有點囉嗦、看似過於簡單,但我認為對外行新手來說,值得細碎一點。因為高手們通常都不知道我們莫名其妙地卡在哪裡

這部分推薦的,可能是這個系列最重要的學習材料:

  • Python官方文檔英文版:https://docs.python.org/3/index.html
  • Python官方文檔中文版:https://docs.python.org/zh-cn/3/index.html

有了官方文檔,理論上來說,你就能讀懂關於 Python 的所有知識,爽不爽?


本篇推薦材料匯總:

  • 風變編程-Python爬蟲精進:pypypy.cn【需付費】
  • xue.cn:《跟老齊學 Python:數據分析》【免費】
  • Python新冠病毒疫情數據分析:https://course.metrodata.cn/course/detail/21【需付費】
  • Python股票量化分析-擇時策略優化:https://course.metrodata.cn/course/detail/25【需付費】
  • Python官方文檔英文版:https://docs.python.org/3/index.html【免費】
  • Python官方文檔中文版:https://docs.python.org/zh-cn/3/index.html【免費】

附《自學是門手藝》第二章【函數】學習筆記(高清腦圖、文字版及每期超級乾貨材料匯總,請私信或評論Python獲取)。

大家千萬不要認為看我的腦圖就能學會Python,腦圖都是畫給自己看的。想學會Python得去看文章中提到的學習材料,自己做整理。

這個系列,至少前幾篇是不會講具體知識的;但我可能更了解外行新手的問題所在。市面上關於Python的優質教學材料實在太多了,我們不需要再去做教程。對新手的重點是——如何認知學習Python,如何能夠學下去、學進去。

事實上,你可以把這個系列看做是一些優質學習材料的「認知鋪墊」。希望和你一起學會Python,加油。

私信或評論「學習」領取免費個人學習資料

相關焦點

  • 零基礎自學Python要多久才能學會?
    來源:博學谷作者:吾非魚零基礎自學Python要多久?  零基礎自學Python學習路線:>  一、基礎篇  安裝python2.7 ,利用笨方法學python 練習基本語法,推薦使用pycharm, 在默認設置裡把制表符Tab 改成了四個空格;然後訓練寫了堆棧,訓練基本的數據結構,自己寫鍊表和隊列,把笨方法學python 敲完。
  • 乾貨!一個月入門Python!職場提升
    手把手教你安裝到入門!今天為大家分享python學習視頻哦,0基礎小白可以在短期內快速提高技巧哦,從入門到精通,趕快學起來吧。1.軟體介紹️2.免費 獲取安裝3.自學視頻分享4.電子書籍推薦Python學起來沒有那麼難哦,只要掌握方法,系統入門到精通絕對沒問題哦,有時間玩遊戲還不如提升技能呢!
  • 書聲琅琅:好的Python入門教程
    好的Python入門教程,書聲琅琅教育番茄老師微信pykf20介紹,python語言現在應用非常廣泛,不管是大數據還是人工智慧,應用最多的語言還是python,因此對於許多小白來講,看到python從業者的高薪資,想要轉行,或者致力於python開發的朋友,如果要學習python,從零基礎開始,一定需要一套完整的學習路線。
  • 零基礎學python,自學難度大麼?
    python自學難度,這個要看你是否有基礎,如果有,那就很簡單;零基礎自學相對要花更多的時間,難度說高不高,重在堅持。如果是零基礎,就可以按著以下三個點去做:1、先確認方向,基本上這門語言是全方位的,這裡一共有:WEB開發,人工智慧,大數據,爬蟲,自動化測試,自動化運維;2、選擇好自學的方式,視頻結合課本,還是純視頻;3、選擇好方向和方式去找資料,定好每天自學多少時間
  • python怎麼自學?大概要多久?本文給你學習乾貨資料
    本文末尾給你準備了乾貨!自學Python時間可能並不固定,取決於個人能力了和專注力!一種情況:你手機不離手,遊戲打到黑,學習一小時,那你可能學N久也學不會!反之:自學到天黑,廢寢忘食,遠離手機,當然也要注意勞逸結合!學習起來也是蠻快的啊!
  • 零基礎自學吉他的步驟 吉他入門零基礎教學
    吉他是一種受廣大群眾喜愛的樂器,下面大宅貓吉他給廣大吉他入門學者講解,我們零基礎自學吉他有哪些步驟:第一步,了解吉他的分類1、民謠吉他,喜歡的人最多、容易找到同伴2、電吉他,樂團用得多,要求手指較靈敏,不一定要看五線譜。
  • Python入門和Python數據分析史上最全學習路線圖
    有小夥伴可能會問,自學編程也能找到工作?你這不是蒙人嗎?我想說的是從小到大,你現在掌握的東西哪個不是你自學的?你多向別人低頭哈腰一次,你就少學一門本事。(原話是你多學一門本事,你就少向別人低頭哈腰一次。)
  • 新手學Python,選擇自學還是報Python培訓機構?
    零基礎學習Python能學會嗎?自學好還是參加Python培訓班好?這個問題不可一概而論,跟想學Python的同學做個分析,看完分析後你就明白該如何選擇了。其實python非常適合初學者入門。相比較其他不少主流程式語言,有更好的可讀性,因此上手相對容易。
  • 最新python入門視頻,python學習路線,python教程,python課程
    最新python視頻400集免費領這是一篇關於如何成為python開發者學習路線圖,也是一篇 Python 入門指南,針對那些沒有任何編程經驗,從零開始學習 Python 的同學。在這個信息爆炸的時代,以 「Python入門」 為關鍵字搜索出的結果成千上萬,不少小白選手難免會東一榔頭西一棒槌,最終看了很多文章,卻仍沒跨過新手那道門檻。結合自身的學習經驗以及與很多自學者的溝通了解,我們整理出一條可操作性較強的自學路線,同時Python優質學習資源,文章末尾,供諸位尚未入門或剛入門不久的同學參考。0. 心態準備 編程是一門技術,也可說是一門手藝。
  • 程式設計師大神分享零基礎如何30天入門快速學習python
    零基礎如何30天入門快速學python?一:明確自己的學習目標不管我們學習什麼樣的知識,都要對自己的學習目標有一個明確的認識。只有這樣才能朝著目標持續的前進,少走彎路,從而在學習的過程中得到提升,享受整個學習的樂趣。
  • 板繪零基礎該怎麼自學?板繪新手入門教學
    板繪零基礎該怎麼自學?板繪新手入門教學!相信有很多朋友想學習漫畫卻又不知從何下手,今天微課菌給大家分享的內容就是幫助初學者解決這個問題。如何學?從哪裡開始學?這些問題都會在今天的分享中找到答案。板繪零基礎該怎麼自學?板繪新手入門教學!那本期的教程素材分享就到這裡結束了,那咱們下期再見啦!
  • 零基礎學習 Python 之條件語句
    寫在之前大家好,這裡是零基礎學習 Python 系列,在這裡我將從最基本的Python 寫起,然後再慢慢涉及到高階以及具體應用方面。我是完全自學的 Python,所以很是明白自學對於一個人的考驗,所以在這裡我會盡我最大的努力,把 Python 儘可能簡單的表述清楚,讓更多想要學習 Python 的朋友能夠入門。
  • 零基礎學習Python開發可以嗎
    很多小夥伴諮詢問我「零基礎可以學習Python開發嗎,能學會嗎?」  答案是肯定的,零基礎學編程,用Python入門是個不錯的選擇,雖然國內基本上還是以c語言作為入門開發語言,但在國外,已經有比較多的學校使用Python作為入門程式語言。
  • PS零基礎自學,一周快速入門從小白到大神月入過萬/乾貨技巧
    大家好,我是小城南部,做自媒體和平面設計,PS是必備的工具,今天分享一些PS從安裝入門操作方法,大家速速收藏,基礎紮實了,小白變大神月入上萬,指日可待。最開始時候,一說到PS,給我的感覺就是高大上,操作太難了,軟體認識,我不會。
  • 助初學者快速入門Python,零基礎3天入門Python
    Python相對來說學習比較簡單,比較容易入門。開發快,語言簡潔,沒那麼多技巧,讀起來很清楚容易。學Java的說Java難,學C++的說C++難,其實,學通了,都是不難的。敢問有哪種程式語言?集簡潔、優雅、簡單、全能於一身,Python絕對算得上是一個。
  • 彩鉛測評|零基礎自學彩鉛3年,為新手精選5本入門書
    從16年開始真正自學彩鉛,到現在也有3年多了,當時作為一個沒有系統學過畫畫的新手,都靠教材書來學習。前前後後共買了40多本(包括電子書)。真正零基礎自學彩鉛畫畫的新手,最開始總是希望有人手把手教,但系統課程相對都比較貴(無論線上線下)。就我的經驗,如果不是為了考學,只是純粹愛好為生活添點樂趣的話,在預算有限的情況下,選擇好入門教材,也是可以逐步進階的!
  • Python自學行嗎?Python自學能不能學會,有用嗎?-開課吧
    python自學是有一些難度的,當然,如果你現在只想入門,等工作後再同時學習的話,入門是沒問題的。但就是不知道你有編程和計算機方面的基礎嗎?零基礎自學Python編程>>>Python自學能找到工作嗎
  • 零基礎學習 Python 之 for 循環語句
    寫在之前大家好,這裡是零基礎學習 Python 系列,在這裡我將從最基本的Python 寫起,然後再慢慢涉及到高階以及具體應用方面。我是完全自學的 Python,所以很是明白自學對於一個人的考驗,所以在這裡我會盡我最大的努力,把 Python 儘可能簡單的表述清楚,讓更多想要學習 Python 的朋友能夠入門。
  • 清華學姐推薦的Python自學視頻,整整400集,拿走不謝
    每天自學倆小時Python,30天學通月入25K學個技術或者搞副業基礎30天入門門編程全乾貨分享今天我掏出家底,給大家分享一個私藏了2年的神先學習資源,讓你盡情自學Python,從此自學不求人。Python開發環境安裝教程Python400集自學視頻
  • 看完此文章若你還不能完美的入門Python,我將退出IT界
    今天給大家分享一些學習Python的基本概念圖,入門書籍、視頻教程以及學習路上最有效的方法。零基礎的話,紮實掌握python基本概念和語法元素是非常有必要的。說不定你學了可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計約200G,免費分享給大家!