你今天Python了嗎?為了提高你的生產效率,趕快去關注一下小蟒蛇的成長吧!別再把Python當作你的業余愛好了,她能為你做手頭上幾乎所有的工作,而且能做得更好,也讓你把寫代碼看成是一種真正的樂趣。為什么我們就一定只將注意力盯在C++、java、C#這些所謂正統的語言上呢?我們的目標不是Be a PRagmatic programmer嗎?C++、Java乃至C#都可以看做是同一類型的語言:C++還算靈活,但紛繁復雜的語法使得生產效率低下,Java提高了生產效率,卻損失了靈活性;C#算是在生產效率和靈活性平衡之間做得不錯了,但是還是不夠的,要不Boo語言之父就不用憤而著Boo了。
        Python首先是一種動態類型和強類型語言,動態類型意味著你不再需要為每一個變量的類型做無數次的聲明,因為編譯器會幫你做類型判斷,它會跟根據變量的賦值來決定變量的類型。強類型則是意味著你不能將一個string當成一個int來用,除非你顯式地轉換它。
        Python本身是結構緊湊的,因為space在C++、Java、C#是會被忽略的,而且還有"{}"去界定code block,那么如果你喜歡,你就可以將所有代碼寫在一行上,寫得多么讓人暈頭轉向都行。但是這在Python中是不可能出現的,因為在Python中只有一種分隔符,就是冒號":",同時通過縮進來區分code block,或許你一開始會對這樣的方式有點不習慣,但是到了后來,你會發現這樣的方式會讓你獲益非淺,因為你養成了一種很好的代碼風格。
        別以為Python是一種很學院派的語言,盡管很多人認為它十分適合作為學習編程的入門語言。事實上,Python不僅很適合初學者學習編程,而且還是一種功能強大的語言,你可以用它來做其他語言能夠做的任何事情。而Python本身也幾乎無處不在,Python編寫的程序可以在各種主流的操作系統中運行,甚至于Palm。哦,差點忘了,Eric Raymond還告訴我們說黑客必須掌握四種語言,首推就是Python了。
        說到這里,似乎還是沒有跟生產效率扯上什么關系哦。那好,就來點所見即所得的吧。下載Python,當然如果你一天都不可以離開.NET的話,就從wxPython和Twisted。下載并安裝完了嗎?好,我們開始Enjoy Python with you in ten minutes之旅吧(不喜歡Teach這個詞,呵呵~~~)。
        首先是wxPython,如果大家都有看我前面的Post,就會知道wxPython的來頭了。它是大名鼎鼎的wxWidget在Python的實現,不知道wxWidget是什么?不會吧,多看我的Blog不就知道了(偶真是臭美啊,其實我也才知道不久。別打我,呵呵~~~)?總之,使用wxPython就可以很輕松地進行GUI的開發了。隨便找一個順手的編輯器,鍵入如下代碼,并存為一個你以喜歡的名字的文件,但是后綴得是.py:
然后在控制臺下通過python *.py來運行這段代碼。噢,一個窗口出現在屏幕上了。是不是有點成就感了呢?再來看看代碼,就如WinForm一樣簡潔,但是別忘了,wxPython可是沒有.NET平臺的限制的哦。同時你從wxSimpleApp和wxFrame這樣的類名是不是聯想到了MFC的中Frame類、App類和Doc類呢?是的,wxPython也是通過相同的方式實現了MVC,使得整個GUI代碼更加清晰,更加易于維護。如果你還不過癮,嫌這個太簡單,那就再來一個更加豐富的:
以上的代碼中的MainWindow類繼承了wxFrame,并且為這個frame增加了一個wxTextCtrl控件,同時增加了一個菜單和對于菜單項的事件處理。它的簡潔是不是讓你心動了呢?趕緊到wxPython的網站去獲得更多的信息吧。以上的代碼均引自wxPython網站的Getting Started。
        除了這種方式開發GUI之外,利用IronPython與CLR的協作能力,也可以通過調用WinForms的API,很輕松地進行GUI的開發,甚至是一種交互式的開發。詳細的信息可以參考IronPython的老爸Jim的blog,上面有一篇很有趣的Post。
新聞熱點
疑難解答