0基礎學python,聊聊這半年我是如何自學編程

很多人在遇到事業瓶頸,或者從事一份自己不喜歡工作,又或者對未來迷茫的時候,總能看到很多人說,轉碼農,當程序員。

誠然,轉行當程序員不僅是政治正確還是事實正確,但是這個過程其實並不容易,倒不是因爲程序員門檻高,而是很多人認爲學編程很難,並且拒絕嘗試。

其實掌握方法後,並且拉近自己與編程的距離,你會發現,你完全可以做到。

剛好這半年,自己一直在學習Python,根據自己這半年自學編程的經歷,班門弄斧,分享一下自己自學編程上的一些學習心得。

另外這邊大神較多,本篇文章只是拋磚引玉,肯定有不靠譜地方,麻煩到時候輕拍,先謝過。

先來測試一下,你適合哪門編程語言?


我爲什麼學編程?

先來說說我爲什麼會學編程,我其實有一份還算不錯的工作,目前是一家小公司的網站項目經理,收入雖然沒有碼農高,但溫飽沒問題。

按理說,我沒必要去做自學編程這種費力不討好的事情,總有一種不務正業的感覺。

但是有兩個非常重要的原因驅使我去學習一門編程語言:瓶頸和壓迫感

1.瓶頸:

先來說說瓶頸,我剛開始工作的時候,是從事網絡編輯工作,然後一步一步爬到網站項目經理這個崗位上,在這個過程中,越來越發現自己的不足,甚至有時候覺得吃力。

主要表現在於對技術層面的不瞭解,我對編程技術完全是小白,雖然我大學專業是計算機專業,但是那些青春歲月都給了摯愛的魔獸世界和一些姑娘,過着糜爛頹廢的日子。

畢業後不自信的我,跑去做銷售,再後來不想當孫子,就從互聯網最底層網絡編輯開始做起,一直到今天。(這裏奉勸各位即將大學畢業小夥伴,自信點,真正的學習其實是從畢業開始)

回到重點,由於我對技術的不瞭解,導致我經常對一些功能點上,時間成本無法把握,比如某些我們覺得很簡單的功能,在程序員的眼中,你宛如一個智障,而某些我們認爲很難實現的功能,在他們手中就是幾分鐘的事情。

但這不是關鍵!就目前的我所認爲,只要從事互聯網行業,都至少要懂最基礎的編程語言:HTML

無論是網絡編輯、網絡推廣或者其他的。

這玩意超級簡單,沒學過編程的小白都能夠快速學會。

耐心花2個小時就能看懂,但是受用無窮,因爲HTML纔是真正的意義上的網頁,我們看到的只是前端用CSS和JS加工包裝美化後的成功,比如你現在看的這個頁面就是。

(鼠標右鍵點擊,查看源代碼,那纔是這個頁面真實的樣子。)

2.壓迫感:

這是我自學編程最重要的原因。

說實話,術業有專攻,因爲上面提到的問題,只要我稍微懂一點編程知識或者編程思維,就能夠解決,至少內心有一個預估。

我一樣可以每天喜滋滋,早點下班回家打一兩把CSGO,然後陪我老婆看一兩集日劇或者美劇,甚至還能一起打幾把農藥。

以前我一直都這麼認爲,人的滿足與不滿足,都源自於對比。

但是我後來才發現,人的滿足與不滿足,是源自於你想成爲怎樣的人。

之前,我一直跟自己的同齡人比較,再和以前一起共事過的同事比較,感覺自己挺好的,至少混的還可以。

直到有一天,我看到一個故事,讓我思考特別多,這個故事是在講人是如何廢掉的:

1995年,美國舊金山舉行過一個全球精英會議。500名政經精英在會上,爲全球化的世界進行分析與規劃。

大家一致認爲:

1,八二定律真切地存在。

2,競爭會越來越激烈,而80%的人,將越來越貧窮,地位越來越下降,淘汰率也越來越高。

可是問題來了,這80%的loser,與其餘20%的精英之間,必然存在衝突。

衝突如果劇烈,社會就會動盪。如何解決這一問題呢?

布熱津斯基就此提出了著名的「奶頭樂」理論。

所謂奶頭樂,就是指採取娛樂化、低智化、遊戲化、低成本、輕易就能獲取刺激性快樂的辦法,卸除底層人口的不滿。

所以,娛樂要越多越好,遊戲要越普及越好,綜藝與真人秀要隨處可見,低智的、無邏輯的、甚至堪稱腦殘的偶像劇要一部接一部。

當這些東西觸手可及,底層人就會安分下來,快樂地、毫無怨言地、無知無覺地繼續貧窮,繼續無所得,然後虛度一生。

這雖然是大洋彼岸的事件,但奶頭樂的現象,在我們身邊同樣存在。

曾有人說過,給一個人一根網線,一個小房間,一個外賣電話,就足以毀了一個人。

因爲,當一個人置身於充滿感官刺激的娛樂、碎片化的信息和無規則的遊戲中時,你的注意力全部被佔據,時間全被消耗,你的慾望能輕易被滿足,自律會一點一點喪失,意志力逐漸癱軟。

你不會再思考。也不再向往艱難的事業。你會恐懼挑戰,恐懼前行。

王爾德說過一句話:「人生只有兩種悲劇,一種是:一直得不到。另一種是:太容易得到。」

一直得不到,是爲永生遺憾。

太容易得到,要麼會變味(邊際效用遞減),要麼會上癮(沉溺於直接刺激)。無論哪一種,都絕非善事。

要知道,人真正能成長,取決於不斷的自我挑戰。

是明知很苦,仍然前行;明知不易,仍然投入。

當一個人不斷突破,在雜亂的信息裏分花錯柳,在活色生香的影像中保持高強度自律,目標明確,遇山開路,遇水搭橋,終於在某一天,他獲得「我真的做到了」的大高潮,這種高峯體驗,會令他受益一生。

因爲,這纔是真正的幸福——努力過,實現過,我無悔。

可能是我自己有點較真吧,畢竟我身處一個「娛樂至死」的時代。大環境就是如此,隨波逐流,幸福過一生不是挺好的。

可是總是有那麼一些人,不是這樣活着,而且這些人會偶爾出現,拿根針扎一下,然後你就會發現你所以爲大家都這樣的夢就像一個泡泡,太容易破碎。


— A君的逆襲 —

我之前和我一個很好的朋友兼同事,這裏成他爲A。

A的身高不高,或者直接說就是矮吧,他是我現實生活中見過最勵志的人。

按照他的話,他出生農村,家裏窮,學歷低,就想着快速賺錢,娶老婆,買房子,他可沒辦法像其他人一樣,每天還能玩個遊戲,刷個抖音,再矯情喊:世界那麼大,我要去看看。

有一天,他突然對我說,他打算以後不再上班了,他覺得這種生活天天被人管的日子太操蛋。

那時候我點了一根菸,斜眼看着他,說:醒醒,搬磚了。

但是想不到,沒過幾天,他真的辭職了。

他自己本身是做網絡推廣,他是我目前見過最棒的推廣,當然,這個不重要。

大概有一段時間後,他跟我說,他把web前端教程都看了,他說他要轉碼農,碼農工資高。

我心想,這是什麼鬼,有病吧,不是說好不上班嗎。

再過一段時間,他又告訴我,他準備認真學PHP,後端纔是核心。

我心裏依舊當他在放屁,先不說編程學習的難度,就他這樣,經常換語言,學個屁。

但是,我低估他了,低估他決心和毅力,包括他的認真。

在此見到他的時候是16年,距離上次和他聯繫大概過了半年多。

他開着一輛白色轎車,是吉利百萬帝豪手動擋,他告訴我這車是他剛買的。

對於當時的我來說,真的羨慕,厲害啊,都有車了!!!

他開車車載我在環島路逛了好幾圈。

我問他是不是發財了,他說,狗屁,我要是發財了,我會買吉利帝豪,當時的我對車幾乎不瞭解,只是覺得有車就很厲害。

他說簡單說了一下這半年發生的事情,基本上就是幫一些公司做推廣和自學編程。

關鍵是這個期間通過幫別人推廣就大概賺了6萬,付了車的首付,買車。

我問他,幹嘛買車。

他很爲難的憋了半天,跟我說,沒車的話,找不到媳婦,特別在他老家,他本身個子不高,更難找到,有車可能會方便很多。

後來我們聊到自學編程的事情,我依舊對他學編程不看好,覺得他腦袋秀逗,但是按照他的意思是,他只能靠他自己,多學點總沒錯,而且編程也不難,這是他的意思。

後來的事情就不詳細說了,反正他去年買房,娶了媳婦,下個月他就要當爸爸了,另外現在他自己的創業公司這半年也盈利,雖然不多,按照他的意思純利潤才三十萬出頭,還達不到水區的標準。卻完全吊打我!

他也真的說到做到,他不想再上班天天被人管。

那麼編程在這其中扮演怎樣的地位,按照他的意思就是,剛開始創業,他只能自己靠自己,請程序員是很貴的。

對我來說,我很多時候也想過着自己不被人管的日子,也想自己做點什麼事情,我也會被技術問題卡主,但我的做法就是,哎,算了,不急,以後有錢招一個吧。

而他則是非常果決的自己學習,就像他說的,他只能靠自己。

其實廢話這麼多,只是在聊一件事情,那就是學習!不要停下學習的腳步,無論學什麼!

不管是以後我是否會自己創業,還是本着技多不壓身的想法,或者是更深入瞭解互聯網世界,等等方面的原因,我開始自學編程。

(另外,我有一個起的比雞早,睡得比豬完的富二代朋友,非常拼,這種讓人真正絕望就不聊了)

編程難不難

先來聊下這個話題,編程難不難呢?

答案是,難!

無論市面上,誰告訴你說哪一門語言多麼簡單,反正編程語言學到後面,迎接你的肯定是非常難的知識。

不過很多人,連嘗試都沒嘗試,就因爲看到一個「難」字就直接拒絕嘗試。

但是編程入門難不難?

答案是,不難!

這個不難有一個前提,那就是你感興趣的編程語言,那是最適合你的編程語言。

學習是一件枯燥的事情,是否有興趣非常重要。

目前主流的編程語言有很多種,挑選一門適合自己的非常重要。

比如我一個同事,最開始學習的是PHP,後來他成爲一個很牛逼的前端,按照他的話就是,PHP是他見過最傻逼的語言。(額,PHP是世界上最好的語言!/狗頭)

但是大家都知道PHP其實很牛逼,就業前景非常好,薪資也高,所以選對一門語言非常重要。

我自己本身在選擇一門編程語言之前,經過大量的瞭解,大概得出這麼一個結論:編程語言沒有高低之分,都特麼的好找工作,工資還特別高。

目前國內互聯網對程序員缺口非常大,但是這裏有一個前提,中高級的程序員,所以要學就認真學。

選擇第一門編程語言



編程語言雖然沒有高低之分,但是有入門難易之分!

比如大名鼎鼎C語言!C語言的牛逼不解釋,工資似乎還是所有編程語言裏面最高的,但是類似我們這種半路出家的,不太建議。

因爲C語言剛開始都是一些概念性的知識,可能學了一年,也無法動手做出點東西出來。



上面有提到興趣是學習編程最大的驅動力,相比Python、PHP等高級語言來說,可以快速做出一些好玩的小東西,所以C語言不太建議半路出家的小夥伴嘗試。

但是如果有比較充足的時間,比如還在上大學。

這種有充足時間的,建議從C語言入門,基本上學會C語言,再去學其他語言,都會覺得很簡單。

這裏推薦一個比較笨的方法,那就是把所有基礎語言教程的第一章都看一遍,當然你也可以挑幾門語言去看。

w3cschool免費編程語言教程

過一遍後,看自己喜歡哪個,選哪個,而且看個第一章,大概就有自己的傾向,當然這個方法雖然笨,但是我自己覺得是有效的。

反正現在比較火的語言大概就是C語言、C++、JAVA、PHP、Python、Ruby、GO、JavaScript 、objective-c等。

其實之前有見過一個很好玩的測試,大概就是[測試你適合哪門編程],可惜突然找不到,後面如果有找到,再補上來。

額,這邊說下我選擇的語言吧,Python!

這門語言怎麼說呢,應該是目前這些語言裏面入門最簡單的。(這句話不是我說的)

關鍵是這門語言還非常強大,簡潔,語法簡單。

而且還很多事情都能幹,這是我當時選擇這門語言的初衷。

如果要推薦的話,我會推薦這門語言~

學習方法與網站推薦

聊下學習方法吧,根據我自己的經驗,學習編程過程中,最怕其實不是什麼枯燥無味。

而是一知半解,這個非常可怕。

我學習Python是邊看視頻,邊看教程,而且不止在一個地方看視頻,也不知道一個地方看教程。

我一般會選擇一個網站看視頻,然後另外一個網站再看一遍鞏固自己的之前上個視頻學的知識。

而且最棒的地方在於不同的視頻,講師的的角度會不一樣,這樣反而會讓你更清晰理解。

然後就是動手能力,一定要多敲代碼

嘗試根據視頻裏面講的代碼邏輯,自己整一些好玩的東西,這樣學習過程不僅鞏固知識,而且還很有成就感。

推薦幾個網站:

w3cschool【學編程,查文檔】

這個網站是老牌的自學編程網站,基本上程序員都懂這個網站。

目前我認爲最適合小白初學者,裏面的編程實戰很贊,邊玩邊學習,我剛開始學習html就是在這裏學的。

這裏面的技術文檔非常豐富,建議收藏。

另外w3cschool也有出一個APP,也還不錯,之前上下班公交車上,也會花十幾分鍾看一兩章節基層教程,或者鞏固之前學的知識。

如圖:



w3cschool APP:點擊下載

這個APP最棒的地方在於隨時隨地,比如上廁所,或者在等公交車,反正碎片化時間都可以使用,總比你把時間花費在刷抖音小姐姐強。

慕課網

我非常喜歡的一個網站,這個網站風格很棒!雖然收費,不過有很多免費課程,特別是一些入門的課程。

而且有視頻講解,非常推薦。

菜鳥教程

超級讚的一個網站!

這個網站內容非常豐富,而且實例講解的特別清晰,而且也有視頻。

這是我自學編程過程中,最常用到的三個網站。

另外就是關於付費問題。

按照A君的意思就是:目前互聯網上的免費教程,足夠讓你成爲一個合格的碼農,就看是否願意堅持下去。

還有可以去網易雲課堂上面學習,上面知識也非常豐富,不過我比較少去,因爲這三個網站就佔用我非常多的時間了。

我平時學習大概是每天安排一個小時的出來學習,視頻半個小時,自己動手半個小時,剛開始學習速度比較慢,後面慢慢會好點。

這邊特別強調一下,溫故而知新,溫故而知新,溫故而知新!

說說,目前我學習的成果吧,講專業知識無聊,不過現在會用Python做一些爬蟲技術,或者用Python開發一些簡單的網站後端。

說實話,還是很有成就感的,慢慢學習吧,畢竟學無止境。

至少,如果當時我不去學習的話,就什麼都不會。

最後用一句心靈雞湯來做結尾:爲什麼我們能夠忍受生活之苦,卻無法忍受學習的苦呢?共勉之!