人在囧途——Java程序猿學習Python


引言

 

  LZ之前其實一直對python都很好奇,只是苦於平時沒有時間去了解它,因此趁着51假期這個機會,便迫不及待的開始了自己的探索。作為一個標准的Java程序猿,在了解python的過程當中,LZ遇到了很多囧事,接下來LZ就一一給大家說道說道。本文純屬看個樂子,非python教學。

 

囧事一:eclipse插件安裝篇

 

  由於LZ習慣了使用eclipse進行開發,因此對python的研究,還是希望可以在eclipse上進行試驗。那么第一件事,自然是安裝python的eclipse插件,於是百度、google各種搜索引擎開始進入LZ的腦海。

  看着搜索結果,LZ不禁感嘆大神們的厲害,原來如此簡單,只需要像下面這樣就可以。

  好吧,於是LZ開始等待...慢慢的,十分鍾過去了,它依然沒有反應...又十分鍾過去了,是的,它依然沒有反應,囧。

  半個小時之后,LZ終於忍不住了,開始選擇第二種辦法,離線安裝。下載一個ZIP包,直接解壓到eclipse的相應文件夾,於是pydev終於出現了。

  功夫不負有心人,它終於出現了,有點找到失散多年的妹妹的感覺。接下來的過程還比較順利,下載python運行環境,將python.exe配置到相應的interpreter上面去即可。

  一個小時的折騰,LZ終於成功運行了那個具有划時代意義的程序,它叫“Hello World!”。

  

囧事二:變量聲明篇

 

  既然“Hello World”已經成功,那么接下來的過程應該是非常順利的。不過沒想到的是,接下來發生的事,讓LZ更加抓狂。最根本的原因就是LZ寫下來了這樣一個程序。

  它竟然報錯了!大概意思LZ倒是看明白了,說字符串不能和int類型比較。於是LZ便將程序改成以下這樣。

  它竟然編譯錯誤了!最可悲的是,這提示有點牛B,LZ只能說“!&……#&!……@&#*……!@&#”。於是牛B的LZ想到了無敵的一招,就是下面這招。

  它竟然又報錯了!強制類型轉換都不好使了,這python還真不好搞。不過這時LZ靈機一動,看到了input()的用法,便比葫蘆畫瓢改了一下程序,結果它終於成功了。

  無敵的python果然與眾不同,習慣與Java完全不同,當初研究C++的時候不能說是順風順水,但也算是手到擒來,因為兩者在某種程度上還是比較相似的。不過這python就不一樣了,很多用法都已經截然不同。

 

囧事三:連接mysql數據庫

 

  完成了上面那個高端大氣上檔次的程序,LZ開始向新的目標前進。於是不自然的想到了數據庫,LZ平時自己寫Java程序都是使用mysql,於是也想使用python操作一下數據庫。回想起Java操作mysql的方式,想必python也需要下載一個p包吧。

  不過結果有點出乎LZ的預料,竟然需要安裝一個叫mysqldb的東西。這是什么玩意?於是LZ開始抱着必勝的決心尋找它,結果終於在某USA的網站找到了它,本來以為是個exe的安裝包,結果卻是一大堆文件,看起來還需要自己build的節奏,這讓LZ有點慌了神。

  不要慌,下載下來再說。於是得到了下面這樣一個東西。

  幸好這玩意看起來還不是那么的難理解,想必應該是需要使用python解釋器去執行setup.py就可以。最后發現,還需要加入一個build的參數。於是LZ便開始執行命令,結果得到了下面的錯誤。

  其實在得到這個錯誤之前,LZ已經得到了很多錯誤,一開始是一個編譯錯誤,LZ修改了setup_windows.py文件。后來又是一個導入module的錯誤,LZ又修改了setup_common.py文件。

  直到得到這個錯誤以后,無論LZ如何猜測,都沒有解決這個問題。因為它報錯的地方是在python的lib文件當中,而不是mysqldb的文件。一時之間,LZ有點慌亂了,開始求助最后的大神google。不過結果依舊失敗,往往在最后關頭能幫助LZ的google,今天看來也不好使了。

  這可怎么辦?LZ猜測這種錯誤很可能是版本引起的問題,因為LZ隱約記得LZ下載的叫mysqldb2,可是LZ使用的是python3啊。會不會跟這個有關系呢?

  說干就干,在百度輸入mysql python3的關鍵字,最終還是讓LZ找到了一絲蛛絲馬跡,有一個地址叫mysql for python3。這是一個github的地址,LZ果斷用git將這個下載下來。仔細一看,它的目錄與剛才那個mysqldb2如出一轍,但其實仔細看,也有少許不同。

  不管它了,管它哪里不同呢,繼續執行剛才的命令。果然,這一次雖然有很多警告,但是build成功了。接着就是install,不出所料,依然還是成功,這讓LZ欣喜萬分。浪費了差不多一個小時,終於搞定了。

  於是迫不及待的在eclipse當中輸入一個標准的程序,來驗證一下LZ的mysqldb是否安裝成功了。可是沒想到的是,它依然報錯了。

  從錯誤提示上來看,就像Java一樣,是剛才安裝的mysqldb沒有被成功引入。於是LZ想到了在配置python解釋器的時候,有一大堆東西讓LZ選擇,而剛才install的時候,就是在Lib下面安裝了一個mysqlXXX的東西。於是LZ就找到了這里。

  這下LZ的程序終於編譯通過了,懷着激動的心情,LZ選擇了python run,結果令人振奮。

  終於打印出來了,這里面的數據就是LZ自己的mysql數據庫當中存儲的。到此,LZ短期對python的研究就暫時告一段落了,以后如果有機會的話,LZ會用python寫一些實用的小工具,以便於自己在平時的工作當中使用。

 

小結

 

  現在說來簡單,其實在真正嘗試的過程當中,還是遇到了不少問題。主要原因也和LZ想在windows下使用python有關系,這個時候就體現出linux的優勢了,在linux上安裝一些東西,總是那么的輕松。

  這本來只是一篇流水文,不過LZ在這里還是想說,很多猿友在研究一些東西的時候,遇到困難就退縮了。到了最后,大部分人都會情不自禁的打開11GAME的快捷方式麻痹自己,從此無法自拔。但其實有的時候,只要你再往前一小步,就可以看到勝利了。最重要的是,這可以鍛煉你解決問題的能力,因為在工作當中,很多事情都是你克服了無數奇葩的問題才得以解決的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM