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