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