<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 189,comments - 115,trackbacks - 0

    [轉:]http://blog.chinaunix.net/u/15586/showart.php?id=473344

    推薦幾款PYTHON編輯器:
       
        推薦幾款不錯的python編輯器吧。這里推薦的幾個并不是像vim,emacs一類的老牌編輯器,而是主要 針對python的編輯器。在我看來,我所需要的代碼編輯器的功能,包括代碼折疊,語法高亮,行號顯示,代碼提示,當然能夠你IDE一樣加入調試和執行功 能就再好不過了。今晚我介紹幾款,這些功能上面參差不齊,希望對有需要的朋友有所幫助。
     1.PythonWinEditor
    如果你安裝activePython或pywin32模塊的話,這個編輯器一般默認情況下都會安裝的。pythonwineditor其實非常不錯,上述所說的四項功能一應俱全,而且會有調試功能。完全免費,算是這里面不錯的選擇了。
     2.Editra
     Editra在你安裝最新版的wxPython的時候會有選項提示你是否安裝,當然你也可以直接從他的站點下載獨立安裝。這個軟件出來時間并不長,但是卻很有趣。我說的功能也都有,代碼提示功能更是讓人喜愛,軟件是用python和wxPython完成的,很不錯。
     3.KomodoIDE/Editor
     ActiveState 現在專門針對開源腳本語言開發一些不錯的應用。KomodoIDE是KomodoEditor的增強版本,當然是收費的,而 KomodoEditor卻是免費的。雖然這款軟件覺得占用內存比較大,但是軟件的代碼提示功能讓你喜歡。感覺比上述兩款的提示功能要強得多。 Editor沒有調試和運行功能,而IDE則相對應的有這些功能。不過對于一般用戶來講,Editor也已經夠用了。當然如果你想花點銀子的話搞IDE的 話,也是物有所值的。
     國內的python大牛limodo出的一個Ulipad,我就不多想介紹了。軟件代碼自動提示功能并不十分實善,而且感 覺一個編輯器挺占用內存的,這一點并不好,而且色彩上面用太亮眼的綠色在里面,有點難看了。就不太向大家推薦了。開源的世界是一個多彩的世界,你總能從里 面發現一些有趣的東西。我喜歡這些有趣的東西,python把我帶來一個新境界,他讓我看到更多更有趣的東西。你可以用python完成更多你想要做的 事,而且這一切基本上沒有什么不可能的。隨著你對這門語言的深入,你會愛上他,在我看來,現在許多應用層上的程序,python都能快速有效的完成,而且 你會覺得他很安全,輔助你思維更加清晰。python和許多語言的理念往往不同,通過C/C++語言,你會覺得你所要的許多功能你所想到的第一件事是怎么 實現這一功能,你想要做一件事,往往需要自己寫許多代碼就會幫你實現;而python則不同,你想到的一件事是有什么模塊可以幫我實現。前兩天看見一個T 恤寫著“生命短暫,我用python“。是呀,用python不需要費太多的腦子,因為已經幫你想好和做好了你想要實現的功能。你只需要輕松調用就可以 了。用python你不必花費太多的心思在怎么實現上面,而是花更多的心思在問題的解決思路上面。雖然我在07年的11/12月份才開始接觸這門語言,但 是,卻深深的喜歡上了她。python的世界是自由的,但代碼是工整的;python是包容的,可以容納下你想要的任何功能,我愛開源,我愛 python.



    用python進行GUI開發的選擇:
    用python進行GUI開發的選擇

     Python最大的特點就在于她的快速開發功能。作為一種膠水型語言,python幾乎可以滲透在我們編程過程中的各個領域。這里我簡單介紹一下用python進行gui開發的一些選擇。
     1.Tkinter
     Tkinter 似乎是與tcl語言同時發展起來的一種界面庫。tkinter是python的配備的標準gui庫,也是opensource的產物。Tkinter可用 于windows/linux/unix/macintosh操作系統,而且顯示風格是本地化的。Tkinter用起來非常簡單,python自帶的 IDLE就是采用它寫的。除此外,tkinter的擴展集pmw和Tix功能上都要相對它強大,但tkinter卻是最基本的。我認為,在用python 做gui開發,tkinter是最基本的知識,所以這個環節是必須要學習的。你或許在以后的開發中并不常用tkinter,但是一些小型的應用上面,他還 是很有用的,而且開發速度也很快。
     2.WxPython
     WxWidgets應該算是近幾年了比較流行的GUI跨平臺開發技術了。 wxWidgets有不同的版本應用,有c++的,也有basic的,現在在python上面也有較好的移植。wxpython的功能上面要強于 tkinter,她提供了超過200個類,面向對象的編程風格,設計的框架類似于MFC。對于大型GUI應用上面,wxPython還是具有很強的優勢 的。boa constructor可以幫助我們快速可視地構建wxwidgets界面。
     3.PyQT
     Qt同樣是一種開源的GUI庫,Qt的類庫大約在300多個,函數大約在5700多個。Qt同樣適合于大型應用,由它自帶的qt designer可以讓我們輕松來構建界面元素。
     4.pyGtk
     Gtk是linux下Gnome的核心開發庫了。功能上面非常齊全。值得說明的是,在windows平臺下gtk的顯示風格并不是特別本地化。不過他帶的glade的界面設計器還是可以幫你省不少事的。
     5.Jython
      嘗試過用python訪問java類庫嗎,那么就用jython吧。jython其實可以認為是另外一個python開發環境,基于java的,但是大多 數的CPython調用jython下還是可以的。你可以在jython環境下像使用java一樣來通過python的語法來調用java語言,真的很 酷。
     6.MFC
     Windows Pywin32允許你像VC一樣的形式來使用PYTHON開發win32應用。代碼風格可以類似win32 sdk,也可以類似MFC,由你選擇。如果你仍不放棄vc一樣的代碼過程在python下,那么這就是一個不錯的選擇。
     7.PythonCard
     PythonCard其實是對wxPython的再封裝。不過封裝的更加簡單,使用起來覺得比wxPython更直觀,也更簡單化了。
     8.Dabo
     仍是一個基于wxpython的再封裝庫,沒用過,不太了解。它提供數據庫訪問,商業邏輯以及用戶界面。
     9.AnyGui
     通過底層的api來訪問其它工具集,像tkinter,wxpython和qt.具體也沒怎么用過。
     10.WPY
     MFC風格的Gui開發庫,代碼風格也類似于MFC,僅管如此,你依舊可以使用這個庫來開發GUI應用,而不用擔心平臺移植的問題。她同樣是一個跨平臺的庫。
     11.IronPython
      如果你要想開發.net下面的應用的話,那么IronPython就是你的選擇,與jython有點類似,他同樣支持標準的python模塊,但同樣增加 了對.net庫的支持。你也可以理解為他是另一個python開發環境。你可以非常方便地使用python語法進行.net應用的開發,這一點聽起來真的 挺有意思。
     總之,介紹了這么多,我個人意見是,如果你是java用戶,那么你就用jython吧,除了可以享受python的模塊功能及語法 外,你可以找到許多java的影子;如果你是.net用戶,那么就用iron python吧。如果你對Visual C++很熟悉,那么你可以使用MFC,WPY或是wxPython,當然我更建議wxPython了。當然,我認為對于tkinter是每一個原來搞C的 人都應該了解和學習的GUI庫,因為她很輕便,小型應用就可以使用她來搞定,而對于較大型應用可以采用pyGtk,pyQt,WxPython或 PythonCard來搞定,這樣的話,既可以注重知識的銜接性,也可以快速進行軟體的開發了。



    基于Python的socket編程[原] 服務端:

    #socket server端
    #獲取socket構造及常量
    from socket import *
    #''代表服務器為localhost
    myHost = ''
    #在一個非保留端口號上進行監聽
    myPort = 50007

    #設置一個TCP socket對象
    sockobj = socket(AF_INET, SOCK_STREAM)
    #綁定它至端口號
    sockobj.bind((myHost, myPort))
    #監聽,允許5個連結
    sockobj.listen(5)

    #直到進程結束時才結束循環
    while True:
        #等待下一個客戶端連結
        connection, address = sockobj.accept( )
        #連結是一個新的socket
        print 'Server connected by', address
        while True:
            #讀取客戶端套接字的下一行
            data = connection.recv(1024)
            #如果沒有數量的話,那么跳出循環
            if not data: break
            #發送一個回復至客戶端
            connection.send('Echo=>' + data)
        #當socket關閉時eof    
        connection.close( )

    客戶端:


    import sys
    from socket import *
    serverHost = 'localhost'
    serverPort = 50007

    #發送至服務端的默認文本
    message = ['Hello network world']
    #如果參數大于1的話,連結的服務端為第一個參數
    if len(sys.argv) > 1:
        serverHost = sys.argv[1]
        #如果參數大于2的話,連結的文字為第二個參數
        if len(sys.argv) > 2:
            message = sys.argv[2:]

    #建立一個tcp/ip套接字對象
    sockobj = socket(AF_INET, SOCK_STREAM)
    #連結至服務器及端口
    sockobj.connect((serverHost, serverPort))

    for line in message:
        #經過套按字發送line至服務端
        sockobj.send(line)
        #從服務端接收到的數據,上限為1k
        data = sockobj.recv(1024)
        #確認他是引用的,是'x'
        print 'Client received:', repr(data)

    #關閉套接字
    sockobj.close( )




    posted on 2008-02-04 11:42 MEYE 閱讀(962) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: xxxxxx日本处大片免费看| 91久久成人免费| 亚洲国产精品免费视频| 国产桃色在线成免费视频| 男女男精品网站免费观看| 久久精品国产亚洲夜色AV网站| 18国产精品白浆在线观看免费| 立即播放免费毛片一级| 亚洲第一区香蕉_国产a| 国产大片91精品免费看3 | 一级做a爰全过程免费视频毛片| 国产精品亚洲A∨天堂不卡| 国产va免费精品观看精品| 国产精品美女久久久免费| 久久精品国产99国产精品亚洲| 久久精品夜色噜噜亚洲A∨| 日韩免费a级毛片无码a∨ | 九九免费精品视频在这里| 亚洲美女大bbbbbbbbb| 精品亚洲视频在线观看| 91免费精品国自产拍在线不卡| 在线免费播放一级毛片| 麻豆亚洲AV成人无码久久精品 | 亚洲Av永久无码精品三区在线| 日韩高清在线高清免费| 一级毛片免费观看不卡视频| 国产区图片区小说区亚洲区| 亚洲最大在线视频| 亚洲精品无码久久一线| 亚洲成A人片在线观看中文| 在线观看免费人成视频| 九九美女网站免费| 免费精品久久久久久中文字幕| 久久精品国产亚洲AV蜜臀色欲| 亚洲狠狠婷婷综合久久久久 | 亚洲一区AV无码少妇电影☆| 精品无码国产污污污免费| 亚欧免费视频一区二区三区| 国产一精品一av一免费爽爽| 人人爽人人爽人人片av免费 | 亚欧免费视频一区二区三区 |