挨踢部落故事匯(30):我與Python的相愛相殺
原創【51CTO.com原創稿件】Taniey與Python 結緣也是個意外,公司重組,他和隊友頂著幾個星期的壓力,徒手搭建服務器,這才有了與Python的故事。有BUG要上,沒有BUG制造BUG也要上。希望用他這7年的填坑經驗給同樣在Python世界里掙扎的人以茲鼓勵。
Taniey·Python開發工程師
Taniey是個典型的吊絲程序猿,愛好發呆,Bug專屬制造者。曾挖了無數坑,埋了自己坑了隊友。
挖完坑就跑?那不能夠。。。做不倒全身而退,就踏踏實實填坑吧。
初識Python,從官網開始
話說Taniey與Python 結緣也是個意外,由于公司重組,領導把他和隊友們都給拉出去,說:給你們幾個星期,把服務給建起來,否則…,(哈哈,沒那么嚴重了,就是把他們單獨分出去成立子公司,所有東西都要重新開發,不過壓力還是蠻大的),沒辦法,他這個C++死粉如果還采用C++去做開發,那等服務開發出來早就死翹翹啦,轉去尋求其它開發效率更高的語言,這才有了與Python的接觸。
半路出家的Taniey,在這之前可是一點 Python的影子都沒接觸過。別人都說買書學,可是他呢,小摳兒就沒買(其實就是時間太緊,看書那真是來不及的)。網上學吧,當時他找個一個網址真是不錯,寫的既簡潔,又很實用,雖然網址只是對有其它語言基礎的更合適。不過很遺憾,Taniey找不到這個網址了,能找到的都是些系統講解的網址,如果要進行系統學習這些網址很好,大部分開發者都在短時間進行快速攻堅,還是找點兒干貨。
對于買書,Taniey覺得書是個好東西,既能隨時看,又能夠系統地學習,不過想要得到一手的資料, Python官網就是不二之選,為什么這么說,國外網站,對產品的說明文檔,沒得說,很有條理,也很詳細,并且全部內容也不是很多(Python本身語法就不多嘛,很多開發者說Python簡潔,這也是其中一個原因),一個星期就可以看完,還是在業余時間!所以不要猶豫,去看吧,順便還能學點英語,多好~~
再識Python,已是囊中物
學習Python,***是有項目可以做,在項目中學習這是最為快速的學習方法,工作學習兩不誤(話說哪有這個好的環境讓你學,那公司可真是仁慈?。?,現在想想當時頂著壓力學的Python,還真是萬幸。
都說Python代碼簡潔,初學還是建議先不要刻意追求他的代碼有多簡潔,先繁后簡再優化(雖然說得有點不負責任,不過有多少代碼是一次成型的?),先用起來再說,尤其是對其它編程語言的轉型者而言。當你對Python如魚得水的時候,你會看到Python是如此的強大。
有一點需要注意,Python現在有兩個主版本在使用,并且是不兼容的,初學者的大坑啊。
1、比如 print 的使用:
在Python2 里你可以直接使用:print "沒有括號的 print 打印"
在Python3里你需要強制使用:print("有括號的 print 打印")
Python2 里的 print 與 Python3里的 print,如果你去看兩個版本的print 解釋文檔,就會發現,python2解釋文檔里有一個,注意說明(Note),告訴你這個不加括號的 print 是使用了 print 聲明(statement),加了括號的print 才是真正使用的 print 函數(function)。
有興趣可以自己找到看:
2、Python2 到 2020年就會停止更新,所以如果不是有歷史問題就使用Python3吧。Taniey不才就入了這個坑,還好 Python有個 py2to3。
另外,用Python2的時候一定要注意Python字符串編碼,很容易就掉進去出不來。
3、Python的tab與空格。因為 Python是以空白字符來檢測作用域的,所以,空白字符的使用就比較重要了,很多人在里沒少栽跟頭,在這里***養成一個好習慣,使用空格不要使用tab,好在一般IDE,都會對tab 和空格做自動轉換,方便許多。
如下幾行代碼:你能知道哪個是空格,哪個是TAB?
空白字符顯示出來,就更明白了:
做Python給Taniey***感觸就是基本上不需要寫太多東西,需要用到什么只要去PyPI上找一定能找得到。
4、IDE 選擇。作開發,IDE是必不可少的,網上可以搜索到很多關于介紹Python IDE的,一說都是一堆,當時Taniey沒經驗,只能挨個測試。他測試的血淚史就先不說了,就說說測試結果:
在windows上做的開發 ,并在 linux 上運行,Taniey測試最多的是:
Notepad++ , Visual studio PythonIDE 插件,Eclipse+PyDev, PyCharm
①Notepad++:沒錯,就是一個記事本性質的工具,而且最開始他居然選的就是這個,當初用它是因為簡單,后來不用它沒辦法也是因為太簡單了。雖然這個工具可以加很多插件來達到類似IDE的功能,不過跟真正的IDE還差得遠呢。
②Visual studio PythonIDE 插件,這個插件,與Visual studio 天然集成,很符合 VS風格,起初他用的時候還是相當不錯,不過用多了就會發現到處都是BUG,招人厭了(當時Taniey用的時候才剛2.0,現在都什么版本)。
③PyCharm,聽官網吹得挺好,Taniey感覺就是拿Eclipse 改出來的,沒啥特別(不要噴,蘿卜白菜,各有所愛)。
PyCharm破解版,License server 填寫>>
PyCharm注冊碼的方法>>
第三種方法更麻煩:IntelliJ IDEA License Server本地搭建教程
④Taniey最喜歡的還是 Eclipse+PyDev,基本上開發者想用的功能都有了,如果Eclipse 用得好,這個應該也不是問題。Taniey強烈推薦。
5、Python 的 Python Enhancement Proposals (PEPs),其中包括:pep8 的Python代碼風格規范,如果要使用Python作項目建議 多看看這個 pep8規范。對你的編碼風格很有幫助。
借用 Tim Peters 的 Python之禪。參考網址>>
翻譯網上自己找,很多。
【寫在***】
從C++到Python,Taniey越來越愛上這個強大的編程語言——Python,光是用Python來開發的光陰就將近四年了,大多是視頻服務類產品,用Python做接口。坑都是摸爬滾打挖了填填了再挖的,用Taniey的話來說就是有BUG要上,沒有BUG制造BUG也要上。希望用他這些年的填坑經驗給同樣在Python世界里掙扎的人以茲鼓勵。
如果你也愿意分享你的故事,請加51CTO開發者QQ交流群 627843829聯系群主小官,期待你精彩的故事!
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】