從正式開始學(xué)習(xí)Python到現(xiàn)在差不多8個月的時間了荣赶,雖說進(jìn)展比較緩慢拔创,但多少也算有些進(jìn)步和體會,現(xiàn)在想把把這大半年來的學(xué)習(xí)情況簡單梳理一下立轧,既是給自己做個總結(jié)躏吊,也希望能給與我情況類似的朋友們一點(diǎn)幫助比伏。
本篇文章有幾千字疆导,是我辛苦寫了幾天的總結(jié),也許對初學(xué)者有用舰攒,建議大家耐心看完悔醋。
一.我的情況
作為一名非技術(shù)類崗位在職人士,學(xué)習(xí)Python不以轉(zhuǎn)行求職為目標(biāo)猾愿、不以提升工作能力為目的蒂秘、不以直接經(jīng)濟(jì)利益為訴求淘太,僅僅當(dāng)作一項(xiàng)業(yè)余活動來看待蒲牧。當(dāng)然,這種情況下學(xué)習(xí)的劣勢是顯而易見的:
沒有明確的目標(biāo)显熏,學(xué)習(xí)方向不固定
沒有強(qiáng)烈的動機(jī)晒屎,學(xué)習(xí)欲望不強(qiáng)烈
沒有項(xiàng)目的支撐鼓鲁,學(xué)習(xí)環(huán)境不理想
就我自身情況而言,由于長期從事非技術(shù)類崗位的工作橙弱,無論對web開發(fā)還是數(shù)據(jù)分析棘脐,相關(guān)知識都比較欠缺龙致。?另外由于工作比較忙,不能保證每天都有機(jī)會使用互聯(lián)網(wǎng)屈梁,相信就這一點(diǎn)而言在讶,很多打算學(xué)習(xí)Python的朋友都要比我有優(yōu)勢。
不過此疹,嚴(yán)格來說我也不算是完全零基礎(chǔ)遮婶,畢竟是工科專業(yè)出身旗扑,讀書時參加過ACM之類的比賽,做過計算機(jī)方面的一些項(xiàng)目眠菇,編程的基礎(chǔ)還是有一點(diǎn)捎废。
二.心路歷程
從最開始接觸Python到現(xiàn)在登疗,我把自己的學(xué)習(xí)歷程大體分成徘徊嫌蚤、入門、進(jìn)階三個階段智政。
1.徘徊
最開始了解Python這門語言大概是2年多以前的事了续捂,當(dāng)時動過學(xué)Python的念頭宦搬,但就像前面說的那樣床三,缺乏明確的目標(biāo)和強(qiáng)烈的欲望,學(xué)習(xí)這件事剛開始不久就被無限期擱置了聂渊。
第二次打算學(xué)習(xí)Python是去年夏天汉嗽,當(dāng)時剛好自學(xué)通過了一門資質(zhì)認(rèn)證找蜜,下半年打算給自己再找一個新目標(biāo),就又想起了Python弓叛,慶幸的是這次堅持了下來,一直到現(xiàn)在诚纸。
說起來這次能夠成功入門并堅持學(xué)習(xí)撰筷,我關(guān)注的很多頭條號功不可沒,事實(shí)就是地講畦徘,很多頭條號里有很多適合小白和新手的東西毕籽,能夠讓你在短時間內(nèi)對Python語言、應(yīng)用領(lǐng)域井辆、學(xué)習(xí)方向有一個大概的了解关筒,能夠幫助你一步一步地正式展開對Python的學(xué)習(xí)。
2.入門
要想入門一門語言杯缺,有兩個要素?zé)o法回避的蒸播,一是學(xué)習(xí)資料萍肆,二是開發(fā)工具廉赔。
1).學(xué)習(xí)資料
網(wǎng)上的視頻、書籍匾鸥、博文等學(xué)習(xí)資料可謂鋪天蓋地蜡塌,但畢竟我們的學(xué)習(xí)時間是有限的,不可能去一一嘗試勿负,選好適合自己的學(xué)習(xí)方式和資料對入門者來說是很關(guān)鍵的一步馏艾。
我的選擇是閱讀紙質(zhì)書籍,選幾本適合自己的書靜下心來認(rèn)真閱讀奴愉,書中的代碼一定要仔細(xì)琢磨(有條件的可 以自己把代碼寫一遍琅摩,加深理解),實(shí)在看不懂的地方可以暫時跳過锭硼,但一定要堅持讀下去房资,說白了就是“硬啃”。
這里我著重介紹兩本入門書籍:
《a byte of Python》:它最大的作用是讓你對Python這門語言有一個 整體檀头、全面的了解轰异,為下步學(xué)習(xí)奠定基礎(chǔ)岖沛。
《Python核心編程(第二版)》:需要注意的是 要一定要買“第二版”而不是“第三版”,另外這本書的中文版里面有一些錯誤搭独,如果遇到了請不要懷疑婴削,它就是錯的!
2).開發(fā)工具:
學(xué)習(xí)Python以來,陸續(xù)接觸過IDLE牙肝、pycharm唉俗、sublime text、spyder配椭、Ipython五個編輯器虫溜,往期文章里有篇文章(Python開發(fā)工具之神兵利器),對開發(fā)工具進(jìn)行了推薦股缸,這里我簡單闡述一下對上述五種工具的使用感受:
IDLE: Python安裝自帶工具衡楞,被很多人詬病,但我覺得它安裝簡單乓序,反而很適合初學(xué)者寺酪。如果實(shí)在不喜歡,可以在學(xué)習(xí)一段時間后改選其他的工具替劈。
pycharm:專業(yè)級神器寄雀,缺點(diǎn)是比較笨重,平時寫小程序的話一般不用陨献。
sublime text:輕量級神器盒犹,我的最愛,非常喜歡它的界面眨业。
Anaconda:集成了大量數(shù)據(jù)分析相關(guān)庫急膀,安裝方便,另外它的調(diào)試功能據(jù)說也比較強(qiáng)大龄捡。缺點(diǎn)是界面比較難 看卓嫂,代碼補(bǔ)全功能也不完善。
Ipython:又稱jupyter聘殖,Anaconda自帶晨雳,我最近才開始使用煤傍,能夠?qū)崟r查看代碼輸出(這一點(diǎn)也很適 合初學(xué)者)
最后再補(bǔ)充一點(diǎn)Python版本選擇的問題帝际,其實(shí)這個問題真的真的不用糾結(jié),因?yàn)閜y2和py3的差別非常小跑芳,隨便選一個盡快上手才是真諦突照。當(dāng)然帮非,對于沒有明確需求的初學(xué)者,我還是建議選擇Python入手,畢竟Py3是大勢所趨末盔。
3.進(jìn)階
這里所謂的“進(jìn)階”并不是說已經(jīng)度過了入門階段筑舅,而是指在學(xué)習(xí)Python基本語法的基礎(chǔ)上做一些擴(kuò)展,向著實(shí)際應(yīng)用邁出第一步庄岖。
目前來看學(xué)習(xí)Python主要有三個方向:web開發(fā)豁翎、數(shù)據(jù)分析角骤、機(jī)器學(xué)習(xí)隅忿。個人覺得Python在web開發(fā)領(lǐng)域沒有太大的優(yōu)勢,而機(jī)器學(xué)習(xí)需要大量的理論和技能基礎(chǔ)邦尊、入門門檻較高背桐,所以我最終的選擇是從數(shù)據(jù)分析入手。
這一階段的學(xué)習(xí)方法除了自己閱讀資料外蝉揍,最好能找一些外部的支持链峭,對口專業(yè)的在校生和在職人員或者是身邊的老手請教。如果都沒有可以從網(wǎng)絡(luò)上尋求幫助又沾,這方面我主要采取了下面兩種途徑:
1).結(jié)合自身情況購買一門在線課程
買在線課程的最大作用不是它提供的視頻和資料弊仪,而是給你一個與其他人共同學(xué)習(xí)交流的氛圍和機(jī)會,有的課程會設(shè)置進(jìn)度或者時間限制杖刷,這些都可以對自學(xué)起到督促作用励饵。
現(xiàn)在網(wǎng)上的課程很多,我覺得沒有最好的滑燃,只有最適合役听。有的課程一套七八千RMB,雖然質(zhì)量很高表窘,但對于業(yè)余玩家來說是否必要還要看自己的選擇典予。
我當(dāng)時選的是一套300元左右的爬蟲課程(為了排除打廣告的嫌疑,平臺名稱這里就不寫了)乐严,說這套課程有些缺陷瘤袖,但它確實(shí)成功地帶領(lǐng)我入門爬蟲、入門數(shù)據(jù)這個領(lǐng)域昂验,客觀來講還是物有所值的捂敌。
2).尋找并加入適合自己的網(wǎng)絡(luò)群體
一個人自學(xué)很有可能因?yàn)閯恿Σ蛔愣型痉艞?/b>,可以嘗試加入一個或幾個適合自己的網(wǎng)絡(luò)群體(QQ凛篙、微信黍匾、 社區(qū)等),尋找志同道合的學(xué)習(xí)伙伴呛梆,相互交流锐涯、相互促進(jìn)。如果想通過學(xué)習(xí)群來提高自己的小伙伴填物,可以關(guān)注私信我纹腌,獲取學(xué)習(xí)秘籍喲~
三.學(xué)習(xí)體會
1.堅持學(xué)習(xí)
堅持是一個老生常談的話題霎终,不過這里想說的重點(diǎn)略有不同,生活中我們都有很多事情要忙升薯,不是所有人都能堅持每天擠出時間來 完成學(xué)習(xí)任務(wù)莱褒。
對于這一點(diǎn)我們要正確看待,“三天打魚兩天曬網(wǎng)”的狀態(tài)是很正常的涎劈,學(xué)習(xí)中斷了等有時間后繼續(xù)就可以广凸,要學(xué)會調(diào)整心態(tài),不必因?qū)W習(xí)受阻而氣餒蛛枚、放棄谅海,要接受這種并不順利的學(xué)習(xí)狀態(tài),這才是我們業(yè)余學(xué)習(xí)者應(yīng)有的堅持蹦浦。
2.細(xì)化目標(biāo)
在學(xué)習(xí)過程中扭吁,最好能夠制定比較細(xì)小的目標(biāo),然后不斷更新盲镶,像做一個web網(wǎng)站侥袜、開發(fā)一個小游戲之類的中 期目標(biāo),個人認(rèn)為并不適合每一個初學(xué)者溉贿。
我們需要根據(jù)自身的學(xué)習(xí)程度和技能水平不斷細(xì)化枫吧、調(diào)整當(dāng)前的目標(biāo), 例如在語言學(xué)習(xí)初期可以設(shè)定“搞清楚is和==之間的關(guān)系”顽照、“學(xué)習(xí)模塊調(diào)用”之類的目標(biāo)由蘑。
隨著學(xué)習(xí)的推進(jìn)可以調(diào)整 為“寫一個小型爬蟲”、“清洗并分析一組數(shù)據(jù)”之類的目標(biāo)代兵,以此類推尼酿。制定適合自己的目標(biāo)可以讓學(xué)習(xí)更有動力, 反之則會增強(qiáng)挫敗感植影。
3.多練多看
“練”是指在學(xué)習(xí)過程中要勤于動手寫代碼裳擎,在學(xué)習(xí)初期,哪怕是照抄書本上的代碼也可以加深對程序的理解
“看”是指要善于閱讀和學(xué)習(xí)其他人優(yōu)秀的代碼思币,這樣才有可能慢慢體會到Python真正的精髓所在鹿响。
最后,祝大家都能夠?qū)W有所成谷饿,走上人生巔峰呀嘿嘿嘿~
碼字不易惶我,覺得對你有用可以關(guān)注作者喲~之后還有更多關(guān)于Python學(xué)習(xí)的文章更新。