乾貨 | 2021 年如何一步一步的學習 Python

2021-03-02 蘿蔔大雜燴

想像一下,在我們得到真正想要的東西的時候,我們必須要攀上某些懸崖

引子

眾所周知,Python 是一門重要的程式語言,廣泛的應用於數據科學、web開發、軟體工程、遊戲開發、自動化等領域。那麼學習 Python 最好的方法是什麼呢?其實這是很多初學者的困惑點,都是 Python 好學也好用,但是到底該怎麼學呢,下面我就分享一下我個人的一點心得!

在學習 Python 的時候,我發現最令人煩惱的事情就是所有學習資源都是差不多的,也就是通用性。比如我想學習如何使用 Python 創建網站,但似乎每一個學習資源都希望大家花上兩個漫長、枯燥的幾個月來學習 Python 語法,然後我才能考慮去做我真正感興趣、想要做的事情。這個漫長的過程,可能也是一個勸退的過程,對於一些自學能力差,或者意志力不夠堅定的人來說,半途而廢太容易了!

幾個慄子,比如下面的代碼

from django.http import HttpResponse
def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

上面的代碼來自 Django 教程,Django 是一個非常流行的 Python 網站開發框架。有經驗的程序猿經常會向給初學者拋出上述代碼片段,然後說「很簡單!「。其實不然。

即使是幾行看似簡單的代碼也會讓初學者產生困惑,例如,為什麼有些行是縮進的?什麼是 django.http?為什麼有些東西在括號裡?當初學者不太了解 Python 的時候,理解所有內容是如何組合在一起就變得非常困難了。

那麼要理解上面的代碼,就需要了解 Python 語言 和 Django 的構建方式,上面的代碼片段創建了一個視圖,是使用 MVC 架構網站的關鍵構建塊之一。所以如果不知道如何編寫代碼來創建視圖,那麼就不可能創建動態網站。

所以要明白上面的架構,就需要首先懂得 Python 語法以及 Django 的相關知識,這其實都會佔用我們大量的時間、精力,那麼在我們進行真正的開發之前,可能要幾個月之後了。

這些往往會導致我們的學習興趣消退,甚至把整個計劃都取消了。

那麼該如何避免上面的學習梯度呢,這裡我總結了一些個人認為比較好的學習方法,僅供參考!

有效的方法是把學習基礎知識和構建有趣的東西結合起來,我們可以花儘可能少的時間學習基礎知識,然後立即投入到創造我們感興趣的東西當中去,這樣,可以極大的提高完成率哦!

Step 1 明確為什麼學習 Python

在開始學習 Python 之前,我們有必要問問自己為什麼要學習 Python。因為學習 Python 這將是一個漫長的,會伴隨著痛苦的旅程。如果沒有足夠的動力,那麼很可能撐不過去。例如,我在大學的編程課上經常睡覺,雖然有必須要記住語法,知識點等,但是沒有十足的動力來支撐我。但是有的時候,當我需要用 Python 建立一個網站來自動評比論文時,我卻可以熬夜完成它,這就是動力的作用!

所以說,找出你的動機將幫助你找到一個最終目標,一條讓你不感到無聊的道路。在準備學習 Python 的時候,我們不必弄清楚所有的項目,只需要了解我們感興趣的一般領域即可。

選擇你感興趣的領域,例如:

數據科學/機器學習

行動應用程式

網站

遊戲

數據處理與分析

硬體/傳感器/機器人

自動化工作的腳本

首先就是找出一兩個你感興趣的領域,並願意堅持下去。然後再把學習中心慢慢的向他們傾斜,最終來完成自己想要的項目。

Step 2 學習基本語法

沒有任何辦法,這一步不能跳過。在深入研究所選的領域之前,我們必須學習 Python 語法的基礎知識。沒錯我知道,很多人都希望在這方面花費少一些時間,最好能夠速成,這就仁者見仁智者見智了。當然我的觀點也是,儘可能少的把時間花費在基礎知識上,很多東西只需要在用到的時候再去學習即可。

以下是一些比較推薦的學習基礎知識的好資源:

· 學習Python的艱難之路--一本教授 Python 概念、從基礎到更深入程序的圖書

https://learnpythonthehardway.org/

· Python guide--Python 的官方教程

https://docs.python.org/3/tutorial/

這裡我還是要再強調下,我們應該在基本語法上花儘可能少的時間,畢竟我們是要使用 Python,而不是研究 Python。越快著手做項目,就學得越快。當什麼時候遇到困難時,我們再來解決相應的問題。理想的情況下,在這個階段差不多應該只花幾個星期,肯定不超過一個月。

注意:要學習 Python3 哦,Python2 就不要再花費力氣去學習了~

Step 3 學習已有的項目

一旦我們學會了基本語法,那麼就可以開始自己做項目了。項目是一種很好的學習方式,因為它可以讓我們應用學習到的知識,這也是一個檢驗的過程。要知道,學到的知識一定要用起來,否則很快就忘記了。做項目將提升我們的編碼能力,也能開闊眼界,拓展思維等。

那麼為什麼我要推薦學習已有的項目呢,因為對於新手來說,從無到有的項目將帶來很多問題,不容易集中思維,項目寫著寫著就跑偏了。所以,最好我們還是根據已有的一些好的項目來做,一直到我們自己覺得自己已經完全可以從頭完成一個項目為止。許多學習資源都提供了很多不錯的項目,這些項目可以讓你在你關心的領域構建有趣的東西的同時還能防止你陷入困境。

讓我們來看看每個領域的一些好資源:

數據科學/機器學習

· Dataquest--交互式地教授 Python 和數據科學。比如分析了一系列有趣的數據集,從中情局文件到 NBA 球員數據等等。最終可以構建複雜的算法,包括神經網絡和決策樹等

https://www.dataquest.io/

· Python for Data Analysis--一個非常好的介紹 Python 數據分析的教程

http://shop.oreilly.com/product/0636920023784.do

·Scikit-learn documentation-Scikit 是一個非常重要的 Python 第三方庫,進行數據分析和機器學習,基本離不開它

http://scikit-learn.org/stable/documentation.html

移動應用

· Kivy-guide--Kivy 是一個可以讓你用 Python 製作行動應用程式的工具,這是它的官方文檔

http://kivy.org/docs/gettingstarted/intro.html

網站

· Flask tutorial--Flask 是一個非常流行的 Python web 框架,這是它的入門教程

http://flask.pocoo.org/docs/1.0

· Bottle tutorial--Bottle 是 Python 的另一個 web 框架,可以從這裡開始學習

http://bottlepy.org/docs/dev/tutorial_app.html

· How To Tango With Django--Django是一個複雜的 Python Web 框架可以開發出功能強大的網站

http://www.tangowithdjango.com/

遊戲

· Codecademy--帶你完成幾個簡單的遊戲

https://www.codecademy.com/

· Pygame教程--Pygame 是一個流行的用於製作遊戲的Python 庫,這是它的教程列表

http://www.pygame.org/wiki/tutorials

· 用Pygame製作遊戲--一本教你如何用 Python 製作遊戲的書

http://www.amazon.com/Making-Games-Python-Pygame-Sweigart/dp/1469901730

· 用Python發明你自己的電腦遊戲--同樣是這本指導你如何用 Python 製作遊戲的書籍

https://www.amazon.com/gp/product/1503212300

硬體/傳感器/機器人

· Using Python with Arduino --學習如何使用 Python 控制連接到 Arduino 的傳感器

http://www.toptechboy.com/using-python-with-arduino-lessons/

· Learning Python with Raspberry Pi--使用 Python 和樹莓派構建硬體項目

https://www.raspberrypi.org/blog/learning-python-with-raspberry-pi/

· Learning Robotics using Python--學習如何使用 Python 構建機器人

https://www.amazon.com/dp/B00YEVZ6UK

· Raspberry Pi Cookbook -學習如何使用樹莓派和 python 建立機器人

https://www.amazon.com/Raspberry-Pi-Cookbook-Simon-Monk/dp/1449365221

自動化工作的腳本

· Automate the boring stuff with Python -學習如何用 Python 自動化日常任務,所謂的 Python 自動化辦公

https://www.amazon.com/gp/product/1593275994

一旦你在自己的領域完成了一些已有項目的搭建,那麼你就應該能夠著手自己的項目了。但是,在此之前,花點時間學習如何解決問題也是非常重要的。

Step 4 完成自己的項目

完成了一些已有項目的搭建之後,就應該自己動手做項目,繼續更好地學習 Python。此時我們仍然會參考相關資源和學習各種概念,但這個時候我們會顯得更加自由了。此時調試代碼和解決問題就成為了一個重點,下面的這些網站,都是程式設計師每日必逛的網站哦:
· StackOverflow--一個社區問答網站,大型程式設計師交友集中地

https://www.stackoverflow.com/

· 谷歌--能不能上的去,憑本事嘍

https://www.google.com/

· Python文檔--查找 Python 參考資料的好地方,還有什麼地方比官網更加權威呢

https://docs.python.org/3/

· 百度--不多說,有時還是蠻管用的

https://www.baidu.com

一旦你對調試問題有了比較好的方法和經驗之後,就可以開始自己的項目了。做一些自己感興趣的事情,我的地盤我做主。

下面是一些尋找有趣項目的技巧:

· 擴展以前處理的項目,並添加更多功能

· 加入一些 Python 社區,找一些從事有趣項目的人

· 找一些開源項目,看看能否貢獻一些代碼

· 找別人做過的項目,看看能不能擴展或調整,Github 要利用起來

· 瀏覽別人的博客文章,找一些靈感

· 日常工作生活中的一些小工具,可以提升效率的

記得從小處著手,從非常簡單的事情開始思考,這樣就可以獲得更多的信心。最好先開始一個小項目,然後完成一個大項目,而這個項目可以一直做下去,一直有優化的空間。

當然此時也可以結對編程,相互鼓勵,鞭策!

如果真的想不出什麼好的項目點子,可以參考下面的每個領域的一些點子:

數據科學/機器學習項目點子

· 顯示各種數據的地圖

· 一種預測你居住地方的天氣的算法

· 預測股市的工具

· 自動總結新聞文章的算法

移動應用項目點子

· 一個記錄每天行走步數的應用程式

· 每天發送天氣預報的程序

· 基於位置的實時聊天工具

網站項目點子

· 一個幫助你計劃每周飲食的網站

· 遊戲視頻網站

· 在線記事本

Python遊戲項目點子

· 基於地理位置,以佔領對方位置為取勝之道的遊戲項目

· 通過解決問題來通關的遊戲

硬體/傳感器/機器人項目點子

· 傳感器項目,監測家裡的溫度

· 和鬧鐘結合,設計一個更加智能的鬧鐘

· 可以探測障礙物的機器人

工作自動化項目點子

· 自動化數據輸入的腳本

· 自動從網上搜集數據的工具

說了這麼多,最關鍵是挑點東西做。如果我們過於執著於挑選一個完美的項目,那麼就有可能永遠都做不到,從而半途而廢。

Step 5 繼續更困難的項目

不斷增加項目的難度和範圍,如果這個時候,你已經想不出該如何優化自己的項目了,那麼就是時候進行一個更加有挑戰的項目了。

這個時候就更加有意思了,我們可以再進一步做一些事情:

· 試著教一個新手如何運行你的項目

· 項目夠完美嗎,它能處理更多的數據,還是能處理更多的流量?

· 你能讓你的程序運行得更快嗎?

· 你能讓你的工具對更多的人有用嗎?

· 你將如何將你所做的商業化?

Python 是一門非常有趣且值得學習的語言,我認為任何人只要找到正確的動機和方法,都可以熟練的掌握 Python。

原文參考:https://www.dataquest.io/blog/learn-python-the-right-way/

說了這麼多,希望對你有所幫助哦!

還不給個「在看」嘛!!!!

相關焦點

  • 一步一步學Python3(小學生也適用) 第十篇: 字符串(str)類型(下)
    str4 = 'Hello Python'print(";".join(str4))運行結果:hello*python*world*very goodhello.python.world.very goodhello;*python;*world;*very goodH;e;l;l;o; ;P;y;t;h;o;
  • 2021年七年級語文填空真題:《走一步,再走一步》
    中考網整理了關於2021年七年級語文填空真題:《走一步,再走一步》,希望對同學們有所幫助,僅供參考。   《走一步,再走一步》   1、標題的含義:   表面上是指在父親的引導下,我一步一步地走下了________。
  • 「元旦海報」2021年元旦手繪海報牛氣沖天教學,一步一步教你畫
    大家好,我是淘氣的小音符,元旦快到了,少不了元旦海報的設計,一步一步教你怎麼畫這幅元旦海報。一、2021數字設計我們使用鉛筆寫上2021的數字,然後畫出胖胖的字體,在字母「0」中間,畫上一隻可愛的小牛雙手拖著下巴的形象;二、圓蛋形象
  • 零基礎學習python,這幾本書少不了
    目前,社會上已經掀起了一波學習python的熱潮,但是很多人由於並沒有python基礎,不知道從哪裡開始學習,小編今天整理了零基礎學習python的一些書籍,希望對大家有所幫助。1.《"笨辦法"學Python》推薦理由:本書是一本python入門書籍,比較適合沒有計算機、編程基礎,但是對python感興趣的小白學習使用。這本書是以習題的方式一步一步引導讀者了解、學習python,從簡單的列印一直講到完整項目的實踐,讓初學者從基礎的python知識入手,最終體驗到軟體開發的基本過程。
  • 零基礎如何學習Python?附超全學習思維導圖
    IT網際網路/資訊熱點/技能幹貨點左上方藍字關注小U有禮物送~
  • 程式設計師大神分享零基礎如何30天入門快速學習python
    零基礎如何30天入門快速學python?一:明確自己的學習目標不管我們學習什麼樣的知識,都要對自己的學習目標有一個明確的認識。基本的字典操作方法以上這些可以略微掌握之後就進行下一步,遇到不會的可以在網上查找一下,或者看下書和筆記以及一些基礎的學習視頻。三、掌握Python的條件、循環和相關的執行語句任何知識它的基礎知識都是有些枯燥的,現在我們就可以動手來做一些邏輯層面的東西了。
  • 用python一步實現郵件自動發送,快來試試吧!
    圖源:Unsplash「每天半小時學習編程,0基礎入門。」「會Python的人,工作都不會太差。追上同齡人,就現在!」第一次使用python時,我感覺它不過是是excel的升級版,是一個可以改善數據分析工作的工具。但隨著對python掌握得越好,我開始意識到它不僅僅是一個用來創造驚人的視覺效果或者執行高等數學函數的工具。我開始探索python更多的可能性,並意識到我只是用到了這門語言的皮毛而已,而實際上我可以開始用它來自動化一些流程。
  • 百度2021校招擴增40% 如何能快人一步拿到大廠offer?
    2020年在疫情的衝擊下,很多公司都在悄悄地進行裁人甚至縮減招聘計劃,這讓很多應屆生的求職之路充滿焦慮與彷徨。二十不惑,三十而已,剛剛畢業卡在中間的你,是不是「困惑不已」,不知該去哪裡?別慌別慌,8月13日百度正式宣布啟動2021屆校園招聘,對海內外2021屆應屆畢業生開放技術、產品、用戶設計、管理支持四大崗位方向,面向搜索、人工智慧、智能生活、自動駕駛、直播、視頻等熱門方向及量子、AI晶片等前沿領域,設置了
  • 如何用python實現excel中的vlookup功能?
    因為刀哥是python初學者,對於需要用到的知識點,如果以前學過的要再複習一下,年紀大了嘛記性比較差,沒學過的新知識點要先學習一下,邊學邊用,所以做的速度比較慢,但是好在,哪怕慢,只要每天進步一點點,都是好的。今天這篇分享,就是刀哥在做的過程中,遇到的其中一個知識點,即用python來實現excel中的vlookup函數功能。
  • 父母是如何一步一步破壞孩子專注力的
    其實,越吼孩子的注意力越難集中,下面我們來聊聊孩子專注力的那些事情,也來看一看作為家長是如何一步一步把孩子專注力破壞掉的。每個階段孩子的專注力應該是多長時間? 總是有家長諮詢,1歲的孩子每次做一件事情就只有三分鐘熱度,是不是注意力差? 每個年齡段的孩子都有一定的專注力。培養的好,專注力時長會隨著孩子的生長而延長;反之,亦然。
  • Python基礎篇-10 Windows安裝Python(圖解)
    Hello,大家好,我是小777很多小白不知道Python基礎從哪裡開始學習,從今開始我每日會分享一篇從零基礎學Python編程基礎。還有很多不知道學Python能幹什麼?在這裡我會為大家一一分享,我感覺還是很有意思的。雖然對於那些會的人不難,但是對於小白來說這確實是很好的一種學習思路。
  • 【乾貨】4月Python 熱門推薦Top 10
    本指南將討論Pipenv 解決的問題,以及如何用Pipenv 管理Python從屬關係(Python dependencies)。此外,它還將涵蓋Pipenv 如何與以前的分配包(Package distribution)方法相適應。 地址: https://realpython.com/pipenv-guide/ 6.
  • 2021最大機遇:學習Python人工智慧!(視頻:課程樣片)
    ,同時也給整個日本社會各行各業都帶來了不少的衝擊,正在奮鬥的各位,學習還要繼續,只有不斷提升自己,才能給自己帶來更多機會。,學習內容除了涵蓋Python,AI算法等基礎知識之外,還擴充了目前流行的AWS引擎,大數據等多領域知識。
  • 0基礎入門Python學習步驟如何安排?
    一、清楚學習目標 無論是學習什麼知識,都要有一個對學習目標的清楚認識。只有這樣才能朝著目標持續前進,少走彎路,從學習中得到不斷的提升,享受python學習計劃的過程。 雖然目前的程式語言有很多,但是基礎語法上的概念,本質上都是相通的。可以做到一通百通。
  • 如何在windows下安裝Python(Python入門教程)
    windows的環境變量中,如果忘記打勾,則需要手工加到環境變量中;在這裡我選擇的是自定義安裝,點擊「自定義安裝」進行下一步操作; B.進入到下一步後,選擇需要安裝的組件,然後點擊下一步:C.在這裡可以自定義路徑選擇安裝:D.點擊下一步後,就開始真正安裝了
  • 學習Python必備的8本書
    所以,本文將推薦幾本學習Python編程必看的幾本書籍《Python編程:從入門到實踐》Amazon編程入門類榜首圖書,國內 Python 入門第一書。基礎篇介紹基本的編程概念,實戰篇介紹如何利用新學到的知識開發功能豐富的項目:2D遊戲《外星人入侵》,數據可視化實戰,Web應用程式。讀者點評:從編程小白的角度看,入門極佳。手把手教的感覺,卻絕不囉嗦。什麼叫入門書?一本書讀下來,行文上不卡殼,邏輯上不跳躍,讀者如爬樓梯,一步一步即可登樓。
  • 2021北京公務員考試資料分析技巧:一步除法的靈活取捨
    本文整理2021北京公務員考試資料分析技巧:一步除法的靈活取捨。行測考試當中,資料分析這類題型特點非常鮮明:題目難度不高。很多考生都會說,見到這種題型,只要給時間就能做出來,而且都能做對。然而,在行測考試當中,我們最缺的恰恰就是時間!那麼,想要在短時間之內把題目做完並且做對就是我們應對這類題目的終極目標,也就是說如何快速選出正確答案就成為我們學習的目標。
  • 手把手教你如何學習python
    你也能夠找到有用的插圖來理解梯度下降是如何工作的。有些更短的教程也能夠幫助你逐步掌握神經網絡:《如何在Python中從零開始構建自己的神經網絡(How to build your own Neural Network from scratch in Python)》 https://towardsdatascience.com/how-to-build-your-own-neural-network-from-scratch-in-python
  • Python 深度學習,你的 Keras 準備好了嗎?
    該書是由 Keras 作者寫的,所以全書基本圍繞著 Keras 講深度學習的各種實現,從 CNN,RNN 到 GAN 等,偏入門,但理論和實戰部分都講的還不錯,承載著很多作者對深度學習整體性的思考。下載完成後直接運行 Anaconda 的安裝文件,按照提示一步一步安裝就可以了。安裝完成後,會在 win10 的開始菜單發現 Anaconda 這些組件:
  • 十六本python入門學習書籍推薦,python入門新手必看
    隨著人工智慧時代的到來,python程式語言一步登天衝到編程排行榜第一名,因此更多朋友想轉行學習python程式語言的朋友,可以一起看一下:python入門新手必看的十六本python入門學習書籍1、python基礎教程司維所著圖書:本書包括Python程序設計的方方面面,首先從Python