從C++到Python蟀俊,為什么我的人生已經(jīng)離不開它

摘要

Python 有那么神嗎时呀?

我打算去了解一下 Python,結果好像看到一個新世界了晴玖, Python 在他們口中好像無所不能读存,編寫一些自動化程序啊,黑別人網(wǎng)站啊呕屎,做游戲外掛之類的好像真的很牛逼让簿,那么,Python 真的那么神奇嗎榨惰?

今天我們就來借這個問題看看我的人生是為何離不開Python的拜英。

前言

我的第一份工作是一加國內知名游戲公司的邏輯程序員,必須技能是C++琅催,但是一開始只是寫語法和C++很類似的一種腳本(后來知道是從一個開源腳本引擎AngelScript修改而成的)居凶。學習游戲開發(fā)的流程,填數(shù)據(jù)藤抡,用腳本定制各種任務侠碧、副本等等。第一年還很有興致缠黍,第二年開始就意興闌珊了弄兜。

后來熟悉了整個系統(tǒng),介入到C++部分的代碼里瓷式。涉及到道具替饿、任務等等邏輯。那時候覺得最難的部分贸典,是UI系統(tǒng)视卢。當時的UI系統(tǒng),是用XML拼出界面廊驼,然后用類似C++的那種腳本來給它寫邏輯据过。從一開始被迫學習,到最后使用的時候遇到各種問題妒挎,前后折騰了很久绳锅。

寫程序的熱情,在實際工作中被一點點的磨滅酝掩。我想鳞芙,很可能許許多多的程序員,都會遇到和我一樣的問題。因為愛好而走上這條路积蜻,卻被瑣碎的工作磨滅了最初的沖動闯割。等到我成為一個獨當一面的程序員的時候,我甚至有一種感覺竿拆,覺得自己似乎什么都會,但是除了項目任務以外的東西宾尚,什么都做不出來丙笋。相比高中時候的自己,甚至有一些退步煌贴。

人生的轉機

直到有一天御板,我看了一本書《黑客與畫家》。

在你迷茫的時候牛郑,多吸收一些各方面的知識怠肋,偶爾會突然打開一扇窗。

《黑客與畫家》滿本書都透著濃濃的技術自信淹朋,和充足的技術底蘊笙各。它就像是一個知識豐富的技術高手,迫不及待的將平生經(jīng)驗一股腦傳授給你础芍,為你指明發(fā)展的方向杈抢。

它的字里行間透露著對傳統(tǒng)編程語言的鄙夷和對LISP的崇敬。它認為精巧的語言仑性,加上聰明程序員實現(xiàn)的高度抽象代碼惶楼,會帶來極大的生產(chǎn)力提升,讓開發(fā)更快诊杆、BUG更少歼捐,讓一兩個開發(fā)人員也能撐起一個具有巨大經(jīng)濟效益的網(wǎng)站。

在Web界已經(jīng)是遍地動態(tài)語言的今天晨汹,《黑客與畫家》里的判斷似乎已經(jīng)沒什么好討論的了(現(xiàn)在動態(tài)語言在很多領域已經(jīng)成為了主流豹储,和作者當年的情況已經(jīng)有了天壤之別)。但對于當時的我來說宰缤,就是大海里的一盞明燈颂翼。

雖然書里對Python(作者當年還是1.x版本)的看法很具有批判性,但是由于那時Python 2.x已經(jīng)有了長足的發(fā)展慨灭,加上一個同事的推薦朦乏,我全身心投入到了Python的學習之中。

在寫了一些小練習程序之后氧骤,我在工作中找到了一個Python的用武之地——用Python實現(xiàn)一個數(shù)據(jù)表格分析程序呻疹,并檢查表格中的數(shù)據(jù)錯誤、邏輯錯誤筹陵。這種表格處理工具在游戲中具有很大的作用刽锤,而且非常適合用腳本來靈活的擴展功能镊尺。

第一個實現(xiàn)的簡單版本,使用起來大概是這樣:

import mb

t = mb.table( "data/index.txt" );

l = t.get_line( 1001 ); # 1001 is line index

data1 = l.get_int( 2 ); # 2 means colum 2

data2 = l.get_str( 3 );

這個代碼主要問題在哪呢并思?在于讀取數(shù)據(jù)時庐氮,程序員自己要指定數(shù)據(jù)的類型。get_int宋彼,get_str弄砍,get_float等等等等。

很不幸而又幸運的输涕,當時我用某某云盤保存自己的代碼音婶,有一次誤同步,導致在公司寫的很多代碼莱坎,在家里操作時覆蓋了衣式。迫使我重寫幾乎整個程序。這次檐什,在同事的參謀下碴卧,我實現(xiàn)了這種用法:

import mb

t = mb.table( "data/index.txt" );

l = t[1001]; # 1001 is line index

data1 = l[2]; # 2 means colum 2

data2 = l[3];

這段代碼實現(xiàn)的功能與上面的完全一樣,但是有兩點變化:

1厢汹、用[]下標操作符代替了get_xxx()函數(shù)調用螟深,更簡潔。

2烫葬、讀取時不需要指定類型界弧,執(zhí)行時,data1自然是整型搭综,data2自然是字符串垢箕。

這種實現(xiàn),對于當時的我來說兑巾,是一個理念上的重大突破条获!

為什么這么說呢?因為強類型的問題蒋歌。在Python中帅掘,我用一些很簡單的處理,讓mb庫的底層自然的處理了類型堂油。而你知道嗎修档?在C++中,做到這點難如登天府框!

C++常常為了推斷一個類型吱窝,不惜使用模版技巧,寫出天書一般的代碼。而且院峡,結果上兴使,仍然不能做到動態(tài)語言的這種用法。也就是說照激,顯式強類型特性发魄,并不僅僅是約束程序員減少BUG的工具,它同時也是實現(xiàn)高抽象系統(tǒng)的一個束縛俩垃。這是個很有意思的事情欠母,對我當時的觸動很大。不知讀者能否理解吆寨。

到了寫出這個表格分析庫之后,我生命中的一扇門打開了踩寇。

我回到了可以自由寫代碼的時代啄清,就像是我的高中時代,而且比那個時代更為簡潔俺孙,充滿了更多的可能辣卒。

我可以任意的寫代碼,幾行代碼就能實現(xiàn)對樹的操作睛榄、復雜的嵌套字典荣茫。我仿佛可以操作任意復雜的數(shù)據(jù)結構,或者復雜的遞歸场靴,只要我想清楚了啡莉,根本不需要多少編碼時間。當時自認為掌握了葵花寶典旨剥,干勁十足咧欣,所以還找了一個Python學習網(wǎng)站,沒事就到上面刷題轨帜。

寫了很多平時懶的寫的復雜算法魄咕,還看大神們寫的“一行Python”(其實是利用了列表解析等方式做的很簡短但是有點難讀的代碼),收獲了很多樂趣蚌父。

后來

從那以后我就愛上了Python哮兰,為了呆在家專心鉆研Python,我直接把當時的工作給辭了苟弛。

在辭職之前喝滞,心里還是有一些擔憂,害怕學得不好嗡午,找不到工作囤躁,不過很快我就看開了,我覺得學習這種事情,更多的是要看自己的態(tài)度狸演,要始終嚴格要求自己言蛇,確保自己在認真努力的學習,而不是自欺欺人的假努力宵距。

我自己也比較有信心腊尚,我知道我能做得到,所以20年初满哪,我毫不猶豫的選擇裸辭回家婿斥,開始了為期半年的學習之旅。

閉關修煉出關后哨鸭,然后就開始給Python的崗位投簡歷民宿,boss,拉鉤大量海投像鸡,一開始沒有經(jīng)驗也沒有好好準備活鹰,第一個星期勞而無功,于是總結經(jīng)驗只估,在家好好準備面試考點和失敗的面試經(jīng)驗志群。

苦心人天不負,第二個星期面試了7家公司拿下4個offer蛔钙,編程半年锌云,我選擇了一家待遇較高做文本智能的公司,13k底薪吁脱,14到18薪年終獎以及項目提成桑涎。

也許大部分人都無法理解一門語言對一個程序員生涯的影響,所以特撰此文豫喧。

Python對我的影響是巨大的石洗,Python升華了過去的我,也將持續(xù)影響未來的我

關于Python技術儲備

學好 Python 不論是就業(yè)還是做副業(yè)賺錢都不錯紧显,但要學會 Python 還是要有一個學習規(guī)劃讲衫。最后大家分享一份全套的 Python 學習資料,給那些想學習 Python 的小伙伴們一點幫助孵班!

一涉兽、Python所有方向的學習路線

Python所有方向路線就是把Python常用的技術點做整理,形成各個領域的知識點匯總篙程,它的用處就在于枷畏,你可以按照上面的知識點去找對應的學習資源,保證自己學得較為全面虱饿。

二拥诡、學習軟件

工欲善其事必先利其器触趴。學習Python常用的開發(fā)軟件都在這里了,給大家節(jié)省了很多時間渴肉。

三冗懦、全套PDF電子書

書籍的好處就在于權威和體系健全,剛開始學習的時候你可以只看視頻或者聽某個人講課仇祭,但等你學完之后披蕉,你覺得你掌握了,這時候建議還是得去看一下書籍乌奇,看權威技術書籍也是每個程序員必經(jīng)之路没讲。

四、入門學習視頻

我們在看視頻學習的時候礁苗,不能光動眼動腦不動手爬凑,比較科學的學習方法是在理解之后運用它們,這時候練手項目就很適合了试伙。

四贰谣、實戰(zhàn)案例

光學理論是沒用的,要學會跟著一起敲迁霎,要動手實操,才能將自己的所學運用到實際當中去百宇,這時候可以搞點實戰(zhàn)案例來學習考廉。

五、面試資料

我們學習Python必然是為了找到高薪的工作携御,下面這些面試題是來自阿里昌粤、騰訊、字節(jié)等一線互聯(lián)網(wǎng)大廠最新的面試資料啄刹,并且有阿里大佬給出了權威的解答涮坐,刷完這一套面試資料相信大家都能找到滿意的工作。


無論如何誓军,最后非常感謝大家點擊觀看我的文章袱讹,如過對你有幫助煩請?zhí)∈纸o小編點點贊。有任何問題或者需要文章內的資料可以后臺私信我昵时,歡迎“騷擾”捷雕。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市壹甥,隨后出現(xiàn)的幾起案子救巷,更是在濱河造成了極大的恐慌,老刑警劉巖句柠,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浦译,死亡現(xiàn)場離奇詭異棒假,居然都是意外死亡,警方通過查閱死者的電腦和手機精盅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門帽哑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人渤弛,你說我怎么就攤上這事祝拯。” “怎么了她肯?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵佳头,是天一觀的道長。 經(jīng)常有香客問我晴氨,道長康嘉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任籽前,我火速辦了婚禮亭珍,結果婚禮上,老公的妹妹穿的比我還像新娘枝哄。我一直安慰自己肄梨,他們只是感情好,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布挠锥。 她就那樣靜靜地躺著众羡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蓖租。 梳的紋絲不亂的頭發(fā)上粱侣,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音蓖宦,去河邊找鬼齐婴。 笑死,一個胖子當著我的面吹牛稠茂,可吹牛的內容都是我干的柠偶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼睬关,長吁一口氣:“原來是場噩夢啊……” “哼嚣州!你這毒婦竟也來了?” 一聲冷哼從身側響起共螺,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤该肴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后藐不,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體匀哄,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡秦效,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了涎嚼。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阱州。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖法梯,靈堂內的尸體忽然破棺而出苔货,到底是詐尸還是另有隱情,我是刑警寧澤立哑,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布夜惭,位于F島的核電站,受9級特大地震影響铛绰,放射性物質發(fā)生泄漏诈茧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一捂掰、第九天 我趴在偏房一處隱蔽的房頂上張望敢会。 院中可真熱鬧,春花似錦这嚣、人聲如沸鸥昏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽互广。三九已至,卻和暖如春卧土,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背像樊。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工尤莺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人生棍。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓颤霎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親涂滴。 傳聞我的和親對象是個殘疾皇子友酱,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內容