事情是這樣的,這周五快到中午的時候, 公司一個商務妹子通過企微找我要聊事情,我就按約定的地點一臉懵逼的去了,見了面發現做商務的同學果然不一般,除了外表顏值外,還能說會道,也很有禮貌,上來就說希望沒耽誤您工作,有事要麻煩之類的寒暄下,然后聊到正題,基本背景就是妹子比較上進,目前除了商務工作外,自己還想學一門技術,加上她本身是財務專業,所以想學下python,做一些數據分析什么的,聽到這,我心想,這python門檻這么低了嗎?商務都來搶飯碗了,這可真是個大鍋飯呀,我突然感覺到干這行競爭挺大呀,當然本著負責的態度,我就給妹子做了一些指點,學習路線什么的,具體不再詳述,主要是強調了要把基礎打好,然后聊完就散了,最后還互加了微信,方面后續技術交流。
回到工位,中午我整理思緒,現在都說python簡單,好學,容易上手,感覺很容易可以精通這門語言,結合我最近面試了幾個候選人,基本上也都說python最簡單,跟shell一樣,看幾天就會了,當然我不得不承認,如果單單從入手角度,python還是比較容易上手的,但我覺得了解其背后原理,精通python是有門檻的,很多基礎的東西要搞懂,比如我最近經常問的一個面試題:
x = 23
y = x
x = 12
問:x,y的值分別是什么?為什么?
這個算是比較基礎的,但得到的回答不是不知道,就是知道了也不知道為什么,反正一直這么敲,意思是原理我不懂,我就會寫代碼,當然日常寫代碼的時候也用不到什么原理性的知識,但這個坑,你早晚得填,因為代碼拼到最后還是那些硬基礎,這里我穿插一個小故事,幾年前我在一家曾經的大廠工作,每當線上有問題的時候,開發部門經常會派人過來分析問題,而且每次是2個人,一個人主負責排錯,一個算是學習,有一天我就問那個學習的同事,編程幾年了,他回答我5年了,我說5年了應該碰到過很多錯誤,為什么還需要別人帶呢,他一句話回復了我,基礎不行,很多底層的錯誤看不懂,看到這明白了吧,還是基礎要硬才行。
除了上面的例子,python中還有很多看描述很明白,但用起來感覺非常怪的行為,比如經常說的可變類型和不可變類型,我們都知道列表是可變類型,而字符串是不可變類型,那這個有什么意義呢,看一個我之前看過的一個例子:
def f1(l):
l.append(0)
print(l)
l = []
f1(l)
f1(l)
問:f1最后打印什么?
def f2(s):
s +='word'
print(s)
s = 'hello'
f2(s)
f2(s)
問:f2最后輸出什么?
如果弄明白可變類型和不可變類型,這就非常簡單了,f1輸出是,[0],[0,0],而f2輸出是:helloword,兩次輸出一樣,因為字符串是不可變類型,所以hello傳入是固定的。
像這種看似古怪的情況在python中還有很多,下次可以接著羅列。
原創 python運維技術 python運維技術
聲明:
本站(www.rxbbx.com)部分圖文轉自網絡,刊登本文僅為傳播信息之用,絕不代表贊同其觀點或擔保其真實性。若有來源標注錯誤或侵犯了您的合法權益,請作者持權屬證明與本網聯系,我們將及時更正、刪除,謝謝