零基礎(chǔ)如何自學(xué)Python

這是昨天一位新加入知識星球的讀者問到的問題:機(jī)械工程專業(yè)零基礎(chǔ)如何自學(xué)Python ?

程序員在普通人眼里就像魔法師奸鬓,一個(gè)腳本輕松搶幾十盒月餅焙畔,一個(gè)插件解決春運(yùn)搶票難題,幾行代碼搭建一個(gè)網(wǎng)站串远,用微信自動(dòng)聊天宏多,在程序員眼里這些事太稀松平常了,他們只不過是利用了編程語言指揮計(jì)算機(jī)去自動(dòng)完成一些需要人類重復(fù)操作的繁瑣過程澡罚,等你會(huì)編程也就不覺得大驚小怪了伸但。

有些人學(xué)習(xí)編程剛一開始頭腦發(fā)熱,買了很多書留搔,下載很多視頻更胖,收藏很多電子資料,沒過幾天,熱情就褪去了却妨,最后完成了從入門到放棄的全過程饵逐,究其原因主要是缺乏清晰的目標(biāo),沒有方向彪标,或者方向不明確倍权。如果你真正想把編程學(xué)好,那么先想想為什么要學(xué)編程捞烟,是為了找一份編程工作薄声,還是為了解決某個(gè)繁瑣問題,抑或是做個(gè)網(wǎng)站給自己用坷襟,還是寫個(gè)App奸柬,或者是爬個(gè)數(shù)據(jù)做分析生年,最怕的就是不知道為什么而學(xué)婴程,如果僅僅是因?yàn)榻箲]而學(xué)習(xí)你也很難學(xué)好,很多人跑過來問我入門書看完了抱婉,接下來看什么書档叔?這就是典型的不知道學(xué)了有什么樣,純粹為了學(xué)習(xí)而學(xué)習(xí)蒸绩。

我們的目的是學(xué)以致用衙四,用以促學(xué)

以學(xué)習(xí)爬蟲為例子,你學(xué)爬蟲的動(dòng)機(jī)什么患亿?你的動(dòng)機(jī)可以是從網(wǎng)上獲取一些數(shù)據(jù)做數(shù)據(jù)分析传蹈,例如,前段時(shí)間有位朋友找到我說步藕,他想做一個(gè)廠房租賃平臺(tái)惦界,開始做之前需要選址,選址就要做市場調(diào)查咙冗,如果僅憑直覺沒有數(shù)據(jù)支撐沾歪,很難說哪個(gè)地方好,最好的辦法使用爬蟲去58這樣的平臺(tái)把相關(guān)的交易數(shù)據(jù)爬下來做數(shù)據(jù)分析雾消,這就是一個(gè)很好的動(dòng)機(jī)灾搏,而且目標(biāo)非常明確。

Python 編程有很多方向立润,有網(wǎng)絡(luò)爬蟲狂窑、數(shù)據(jù)分析、Web開發(fā)桑腮、測試開發(fā)蕾域、運(yùn)維開發(fā)、機(jī)器學(xué)習(xí)、人工智能旨巷、量化交易等等巨缘,各個(gè)方向?qū)Χ加刑囟ǖ募寄芤螅热鐚W(xué)數(shù)據(jù)分析就要重點(diǎn)掌握統(tǒng)計(jì)學(xué)采呐、SQL 等知識若锁,搞運(yùn)維就要非常熟悉 Linux 系統(tǒng),所以你首先要清楚你選擇的是什么方向斧吐,這個(gè)方向哪些知識需要重要掌握又固。

以 Web 開發(fā),重點(diǎn)要理解 HTTP 協(xié)議煤率,要知道一個(gè)網(wǎng)頁從瀏覽器輸入U(xiǎn)RL開始到頁面出現(xiàn)內(nèi)容的這個(gè)過程發(fā)生了什么仰冠,然后要知道 Web 開發(fā)涉及的前端知識 HTML、JavaScript蝶糯、CSS洋只,大概了解他們是做什么的,然后就是學(xué) Python昼捍,當(dāng)然也不是所有的東西都要學(xué)识虚,掌握基本的語法,常用的數(shù)據(jù)類型就差不多可以去實(shí)現(xiàn)你的目標(biāo)了妒茬,幾乎所有網(wǎng)站都需要用到數(shù)據(jù)庫担锤,那么你至少需要懂一點(diǎn)數(shù)據(jù)庫的知識,SQL 的增刪改查操作要會(huì)乍钻,程序?qū)懲炅烁匮覀円渴穑到y(tǒng)一般都是運(yùn)行在 Linux 環(huán)境银择,這個(gè)時(shí)候你還需要了解如何操作 Linux 命令多糠。

接下來就詳細(xì)介紹每個(gè)過程如何學(xué)習(xí),以及所用到的學(xué)習(xí)資源和掌握的程度欢摄。

HTTP 協(xié)議是瀏覽器與服務(wù)器通訊的媒介熬丧,用戶在瀏覽器輸入U(xiǎn)RL后瀏覽器會(huì)立即向服務(wù)器發(fā)起一個(gè)請求,服務(wù)端接收請求后怀挠,從數(shù)據(jù)庫查詢到合適的數(shù)據(jù)析蝴,最終把數(shù)據(jù)返回給瀏覽器。瀏覽器與服務(wù)器之間的通訊嚴(yán)格遵守 HTTP 協(xié)議绿淋,如果你弄懂了 HTTP 協(xié)議闷畸,那么也就弄懂了 Web 編程的基本原理,這里推薦兩本關(guān)于 HTTP 協(xié)議的書吞滞。

《圖解HTTP》
《HTTP權(quán)威指南》
前者更偏向于入門佑菩,后者適合進(jìn)階閱讀盾沫,前期不一定要細(xì)讀,大概理解就行殿漠,以后你還會(huì)回過頭來學(xué)習(xí)的赴精。

任何一個(gè)做 Web 開發(fā)的,離不開前端三劍客绞幌,這里的三劍客是指 HTML蕾哟、JavaScript、CSS莲蜘。HTML 是骨架谭确,CSS是外衣,JS控制前兩者票渠,為了滿足更多用戶交互行為需要 JavaScript 來控制逐哈。下面推薦的這幾本書對一個(gè)初入門的小白來說完全夠用,挑選一兩本就行问顷,也不需要你全部看完昂秃,一本書看完前面的 60% 差不多就行了。

《HTML5秘籍(第2版) 》
《HTML5權(quán)威指南 》
《Head First HTML與CSS(第2版)》
《CSS權(quán)威指南(第3版)》
《JavaScript DOM編程藝術(shù)(第2版)》
《JavaScript高級程序設(shè)計(jì)(第3版)》
不管再忙都要堅(jiān)持每天要至少保持3個(gè)小時(shí)以上的練習(xí)時(shí)間

了解了基本的前端知識后择诈,還是有必要了解一下前端的框架械蹋,如vue.js出皇、boostrap羞芍、react、jquery 等等郊艘,雖然不一定每個(gè)框架都去學(xué)一遍荷科,但至少要知道每個(gè)框架的作用,因?yàn)橐院竽悴豢赡苁裁炊际亲约褐貜?fù)造輪子纱注。

學(xué)完前端知識后畏浆,你現(xiàn)在應(yīng)該能簡單的做出一些靜態(tài)網(wǎng)站出來了,不過狞贱,現(xiàn)在幾乎所有的網(wǎng)站都是動(dòng)態(tài)的(這里的動(dòng)態(tài)不是說動(dòng)畫效果刻获,而是說頁面數(shù)據(jù)是動(dòng)態(tài)變化的),就是說數(shù)據(jù)都是根據(jù)登錄用戶個(gè)性化推薦的瞎嬉,瀏覽器的請求發(fā)送給服務(wù)器之后蝎毡,服務(wù)器從數(shù)據(jù)庫查詢獲得數(shù)據(jù)返回給瀏覽器,服務(wù)器這邊的實(shí)現(xiàn)邏輯就需要用 Python 來實(shí)現(xiàn)氧枣,現(xiàn)在正是開始學(xué) Python 的時(shí)候沐兵, Python 入門需要掌握的內(nèi)容包括基本語法、數(shù)據(jù)結(jié)構(gòu)便监、常用數(shù)據(jù)類型和常用的模塊的api方法操作等扎谎。關(guān)于 Python 的書其實(shí)很多碳想,這里推薦幾本入門和進(jìn)階。

入門

《Python簡明教程》可以在公眾號「python之禪」回復(fù) "python"免費(fèi)獲取電子書
《Python編程:入門到實(shí)踐》
《Python編程快速上手 : 讓繁瑣工作自動(dòng)化》
進(jìn)階

《流暢的Python》
《Python Cookbook》
《Effective Python》
簡明教程就是一本很薄的小冊子毁靶,希望你可以認(rèn)真讀完胧奔,后面兩本入門書,至少要把前面的基礎(chǔ)學(xué)完预吆,至于后面的實(shí)戰(zhàn)葡盗,不學(xué)也罷,因?yàn)槟愕呐d趣點(diǎn)不一定在那里啡浊。

不管再忙都要堅(jiān)持每天要至少保持3個(gè)小時(shí)以上的練習(xí)時(shí)間

現(xiàn)在差不多可以用 Python 來做很多事情了觅够,但是你還不知道如何寫一個(gè) Web 應(yīng)用,因?yàn)槟憧赡懿恢涝趺床僮鲾?shù)據(jù)庫巷嚣,怎么寫 SQL 語句喘先,對數(shù)據(jù)庫進(jìn)行增刪查改,所以廷粒,別急窘拯,先學(xué)學(xué)數(shù)據(jù)庫知識吧,MySQL 是最流行的數(shù)據(jù)庫系統(tǒng)坝茎,大公司都在用涤姊。最基本的數(shù)據(jù)庫操作就是要知道什么表、行嗤放、列思喊、主鍵、外鍵次酌、索引這些概念恨课,稍微復(fù)雜的就是查詢,有分組查詢岳服,聯(lián)合查詢等各種條件查詢剂公,你需要掌握這些基本操作。

《SQL基礎(chǔ)教程》
《MySQL必知必會(huì)》
這兩本數(shù)都是面向初學(xué)者的基礎(chǔ)教程吊宋,挑選一本就夠了纲辽,除了MySQL,還有PostgreSQL璃搜、Oralce拖吼、SQL Server 都屬于關(guān)系型數(shù)據(jù)庫,另外也有 MongoDB腺劣、Redis 這樣的非關(guān)系型數(shù)據(jù)庫绿贞,你可以相應(yīng)的都去了解一下,不一定非要馬上就學(xué)橘原。學(xué)完數(shù)據(jù)庫之后籍铁,你要想的一個(gè)問題就是如何用 Python 操作數(shù)據(jù)庫的 CRUD涡上,雖然沒有專門的書籍講這個(gè),但是網(wǎng)上有很多教程寫如何用 Python 操作 MySQL 的拒名,所以吩愧,學(xué)會(huì)利用搜索引擎非常重要,為了防止忘記前面的內(nèi)容增显,也要不時(shí)地復(fù)習(xí)雁佳、練習(xí)前面的內(nèi)容。

不管再忙都要堅(jiān)持每天要至少保持3個(gè)小時(shí)以上的練習(xí)時(shí)間 同云。

現(xiàn)在你差不多所有的基礎(chǔ)知識都有所掌握糖权,終于可以磨刀霍霍迫不及待開始第一個(gè)真正屬于你自己作品的開發(fā)之旅了,因?yàn)榍懊婺阋呀?jīng)掌握了 HTTP 協(xié)議炸站,所以現(xiàn)在你可以選擇一個(gè) Web 框架星澳,基于這個(gè)框架來開發(fā)我們的 Web 網(wǎng)站,這里推薦使用 Flask旱易,這個(gè)框架比較流行禁偎,然后又是一個(gè)比較輕量級的框架,非常靈活阀坏。有對應(yīng)的一本著名的狗書《Flask Web開發(fā):基于Python的Web應(yīng)用開發(fā)實(shí)戰(zhàn)》如暖。一個(gè)完整的 Web 網(wǎng)站從前端 HTML、CSS忌堂、JavaScript再到后端 Flask盒至,數(shù)據(jù)庫連接、CRUD操作基本都能跑通了浸船,項(xiàng)目差不多基本成型妄迁,只剩下最后一個(gè)步驟寝蹈,就是如何把做好的程序發(fā)布到服務(wù)器讓它一直穩(wěn)定的運(yùn)行李命,持續(xù)提供服務(wù)。

通常箫老,我們的 Web 程序會(huì)部署在 Linux 服務(wù)器封字,很少有用 Windows 作服務(wù)器的,所以耍鬓,熟悉 Linux系 統(tǒng)還是非常有必要的阔籽,Linux 要掌握到什么程度呢?當(dāng)然牲蜀,至少要會(huì)基本的 Linux 命令操作才行笆制,推薦下面這幾本書

《快樂的Linux命令行》,公眾號「Python之禪」回復(fù) "linux" 可免費(fèi)獲取涣达。
《鳥哥的Linux私房菜》
《Linux命令行與shell腳本編程大全》
熟悉完 Linux在辆,程序也部署好了证薇,其實(shí)還差一步,網(wǎng)站需要一個(gè)好記的域名方便別人訪問匆篓,畢竟沒人能記住你的 IP浑度,所以,后期的域名購買鸦概,HTTPS 配置箩张,Nginx 配置,都可以在網(wǎng)上找到相應(yīng)的答案窗市。

不管再忙都要堅(jiān)持每天要至少保持3個(gè)小時(shí)以上的練習(xí)時(shí)間 先慷。

你的打怪升級過程一定是一個(gè)曲折的,痛并快樂著的過程咨察。

最后祝你升級成功熟掂。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市扎拣,隨后出現(xiàn)的幾起案子赴肚,更是在濱河造成了極大的恐慌,老刑警劉巖二蓝,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件誉券,死亡現(xiàn)場離奇詭異,居然都是意外死亡刊愚,警方通過查閱死者的電腦和手機(jī)踊跟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸥诽,“玉大人商玫,你說我怎么就攤上這事∧到瑁” “怎么了拳昌?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長钠龙。 經(jīng)常有香客問我炬藤,道長,這世上最難降的妖魔是什么碴里? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任沈矿,我火速辦了婚禮,結(jié)果婚禮上咬腋,老公的妹妹穿的比我還像新娘羹膳。我一直安慰自己根竿,他們只是感情好陵像,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蠢壹,像睡著了一般嗓违。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上图贸,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天蹂季,我揣著相機(jī)與錄音,去河邊找鬼疏日。 笑死偿洁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沟优。 我是一名探鬼主播涕滋,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼挠阁!你這毒婦竟也來了宾肺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤侵俗,失蹤者是張志新(化名)和其女友劉穎锨用,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體隘谣,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡增拥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了寻歧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掌栅。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖码泛,靈堂內(nèi)的尸體忽然破棺而出猾封,到底是詐尸還是另有隱情,我是刑警寧澤弟晚,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布忘衍,位于F島的核電站,受9級特大地震影響卿城,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜铅搓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一瑟押、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧星掰,春花似錦多望、人聲如沸嫩舟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽家厌。三九已至,卻和暖如春椎工,著一層夾襖步出監(jiān)牢的瞬間饭于,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工维蒙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掰吕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓颅痊,卻偏偏與公主長得像殖熟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子斑响,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 這是位新加入知識星球的讀者問提的問題:機(jī)械工程專業(yè)零基礎(chǔ)如何自學(xué)Python舰罚?因?yàn)槠綍r(shí)分享得最多的是 Python...
    瘋狂的程序猿丶閱讀 1,194評論 0 2
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,110評論 25 707
  • 其實(shí)python非常適合初學(xué)者入門照皆。相比較其他不少主流編程語言,有更好的可讀性沸停,因此上手相對容易膜毁。自帶的各種模塊加...
    Python程序媛閱讀 288評論 0 1
  • 老頭兒油爆蝦飯菜還算可口,菜量也不辜負(fù)食客愤钾。醬鴨香甜入味而不塞牙瘟滨,黑米汁不薄不厚,還有一點(diǎn)幼滑能颁。所在的淮海路陜西南...
    d11110d0172b閱讀 197評論 0 0
  • 人到中年杂瘸,不話滄桑 不知不覺,已人到中年伙菊,仿佛人生的很多問題一下子變得不再像曾經(jīng)的那么簡單...
    回首釋然閱讀 152評論 0 0