国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

你今天Python了嗎?(上)

2019-11-14 17:34:47
字體:
來源:轉載
供稿:網友

       你今天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的話,就從wxPythonTwisted。下載并安裝完了嗎?好,我們開始Enjoy Python with you in ten minutes之旅吧(不喜歡Teach這個詞,呵呵~~~)。
        首先是wxPython,如果大家都有看我前面的Post,就會知道wxPython的來頭了。它是大名鼎鼎的wxWidget在Python的實現,不知道wxWidget是什么?不會吧,多看我的Blog不就知道了(偶真是臭美啊,其實我也才知道不久。別打我,呵呵~~~)?總之,使用wxPython就可以很輕松地進行GUI的開發了。隨便找一個順手的編輯器,鍵入如下代碼,并存為一個你以喜歡的名字的文件,但是后綴得是.py:

from wxPython.wx import wxPySimpleApp, wxFrame
app = wxPySimpleApp()
frame = wxFrame(None, -1, "Hello World")
frame.Show(1)
app.MainLoop()

然后在控制臺下通過python *.py來運行這段代碼。噢,一個窗口出現在屏幕上了。是不是有點成就感了呢?再來看看代碼,就如WinForm一樣簡潔,但是別忘了,wxPython可是沒有.NET平臺的限制的哦。同時你從wxSimpleApp和wxFrame這樣的類名是不是聯想到了MFC的中Frame類、App類和Doc類呢?是的,wxPython也是通過相同的方式實現了MVC,使得整個GUI代碼更加清晰,更加易于維護。如果你還不過癮,嫌這個太簡單,那就再來一個更加豐富的:

from wxPython.wx import *
ID_ABOUT=101
ID_EXIT=110
class MainWindow(wxFrame):
    def __init__(self,parent,id,title):
        wxFrame.__init__(self,parent,wxID_ANY, title, size = (400,200), style=wxDEFAULT_FRAME_STYLE|wxNO_FULL_REPAINT_ON_RESIZE)
        self.control = wxTextCtrl(self, 1, style=wxTE_MULTILINE)
        
        filemenu= wxMenu()
        filemenu.Append(ID_ABOUT, "&About"," Information about this program")
        filemenu.AppendSeparator()
        filemenu.Append(ID_EXIT,"E&xit"," Terminate the program")

        menuBar = wxMenuBar()
        menuBar.Append(filemenu,"&File") # Adding the "filemenu" to the MenuBar
        self.SetMenuBar(menuBar)  # Adding the MenuBar to the Frame content.
        EVT_MENU(self, ID_ABOUT, self.OnAbout) 
        EVT_MENU(self, ID_EXIT, self.OnExit)  
        self.Show(true)

    def OnAbout(self,e):
        d= wxMessageDialog( self, " A sample editor  "
                            " in wxPython","About Sample Editor", wxOK)
                          
        d.ShowModal() 
        d.Destroy() 

    def OnExit(self,e):
        self.Close(true)  # Close the frame.

app = wxPySimpleApp()
frame = MainWindow(None, -1, "Sample editor")
app.MainLoop()

以上的代碼中的MainWindow類繼承了wxFrame,并且為這個frame增加了一個wxTextCtrl控件,同時增加了一個菜單和對于菜單項的事件處理。它的簡潔是不是讓你心動了呢?趕緊到wxPython的網站去獲得更多的信息吧。以上的代碼均引自wxPython網站的Getting Started
        除了這種方式開發GUI之外,利用IronPython與CLR的協作能力,也可以通過調用WinForms的API,很輕松地進行GUI的開發,甚至是一種交互式的開發。詳細的信息可以參考IronPython的老爸Jim的blog,上面有一篇很有趣的Post。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凤翔县| 和龙市| 阿拉尔市| 阳城县| 龙游县| 焉耆| 乐陵市| 仪征市| 卓尼县| 江阴市| 登封市| 三江| 百色市| 清水县| 延川县| 兴文县| 肇庆市| 贵溪市| 乌兰县| 丹阳市| 东乡县| 宝兴县| 敦煌市| 三河市| 恩施市| 班戈县| 平遥县| 寿宁县| 陆河县| 施甸县| 灵川县| 周宁县| 乌兰察布市| 宜兰市| 湘乡市| 大港区| 金门县| 綦江县| 沿河| 江油市| 井研县|