小白如何入門Python? 製作一個網站為例,小白python
首先最重要的問題是為什麼要學習python?這個問題這個將指導你如何學習Python和學習的方式。
以你最終想製作一個網站為例。從一個通用的學習資源清單開始不僅會消磨你的激情,而且你獲得的知識很難應用,我曾經嘗試過不通過上下文和具體應用來學習編程,但是我幾乎沒有獲得任何有用的技能。
當我3年前學習python時,我想建立一個網站。這對於任何一個學習Pyhon人來說,不足為奇。
1、找到是什麼激勵你
找到並保持你的動機是關鍵-我高中睡了很多個的程式設計課,因為它只讓我們記住了一堆文法。另一方面,當我需要學習python來製作一個自動作文評分演算法時,我連續熬夜幾個晚上來學習和迭代。
學習中很少涉及動機--你通常只是跟隨別人給的教程去嘗試做一些東西。但是,python的偉大之處在於,你幾乎可以開發所有的東西,從行動裝置 App程式到遊戲到進階機器學習演算法。無論你是否感興趣,你都可以在python中構建它,並且可能獲得了一個很好的入門教程。
選擇一個或兩個你感興趣的東西,並堅持下去-你會在這個領域開發很多項目。
以下是一些樣本地區,但可以隨意添加:
2、瞭解一些基本的python文法
除非你知道基本的文法,否則很難實現任何東西。即便如此,也不要花太長時間在上面。你的目標是開展你感興趣的項目,學習基本的文法就足夠了
作為參考,我花了不到一周的時間在codecademy上,學習了大概30%的文法。這足以可以開始一個項目了
一些可以協助你的資源:
Codecademy --很適合學習基本文法
Learn python the hard way--一本教了很多python概念的書。
Dataquest.io --這是我學習Python的第一個網站。它的重點是教你在資料科學中使用python,但它可以教會你所有的基本文法。
Python教程--主要python網站上的教程。
我再次強調,前期不要花太多時間在基本文法上。你越快開展項目工作,你將學的越快。當你遇到問題卡住的時候,你還是可以回去看看文法的。
3、進行結構化項目
除非你真正的把你學到的東西應用在實際項目上,否則你學到的知識將會慢慢流失。項目是一個很好的學習方式,因為他可以促進你的能力,讓你知道如何應用你所學到的技能,並且可以讓你在找下一份工作時有東西可以拿出來展示。
當你開始工作時,更多帶有指導的結構化項目對你協助很大。這裡有幾個想法:
遊戲
Pygame tutorials --pygame(用於製作遊戲的python庫)有一個很好的教程列表
Making games with pygame--這本書看起來像是通過製作遊戲這樣一個很好的方法來學習python
網站
Flask tutorial --官方flask教程(簡單的python web架構)。
Bottle tutorial--Bottle教程(更簡單的python web架構)。
How To Tango With Django 1.7--個django的指南(有些複雜的python web架構)
資料科學
Dataquest.io --以互動方式教你Python和資料科學。你可以分析一系列從CIA檔案到NBA球員的有趣的統計資料資料集。
Scikit-learn 文檔--Scikit-learn有一些很好的文檔和教程(python的主要機器學習庫)。
Python資料分析--由python資料分析庫(pandas)主要作者編寫,對使用python分析資料有一個很好的介紹。
4、自己開展項目
一旦你以指導的方式學習了這些概念,那麼現在是自己開展一些項目的時候了。你仍然需要查閱參考資料並尋找概念,但是你將根據項目的需求來應用你所學到的知識,而不是相反。
找一起工作的其他人一起開展項目,那樣可以協助你學習並協助你保持積極性。
我的一些建議:
- 擴充你之前工作的項目,並添加更多功能
- 去你所在地區的python聚會,找到正在開展有趣項目的人。
- 尋找開源包並做出貢獻。
- 看看是否有任何本地非營利組織正在尋找志願者開發人員
- 尋找其他人已經完成的項目,看看你是否可以擴充或改寫它。
我的第一個項目是將我的自動文本評分演算法從R改寫成python。它最終看起來沒有很漂亮,但它事我在學習Python旅程上的開始。
其實關鍵是選擇一些東西來做。如果你只想做出一個完美無瑕疵的項目,那麼你有可能永遠都不會做出一個項目。
5、勇於挑戰更困難的項目
不斷增加你項目的難度和範圍。如果你對你正在開發的東西感到很輕鬆,那就意味著現在是嘗試更加困難的東西的時候了。
以下是當時的一些想法:
- 嘗試教一個新手如何做你當前的項目。
- 嘗試載入測試你的網站-比如你可以擴大它的規模嗎?
- 你可以讓你的程式運行得更快嗎?
6、結語
不管怎麼說,python一直在不斷演變進化。可能只有少數人可以斷言完全理解它。
你需要不斷地學習和研究項目。如果你這樣做了,當你回頭看看自己6個月前寫的代碼,你會覺得這代碼是有多麼糟糕。如果你到達這一層次了,那恭喜你,說明你上道了。
Python是一種非常有趣且值得學習的語言,我認為只要找到正確的動機,知道你為什麼學習Python,你用它來做什麼,漸漸的你就可以精通它。