自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何更好更快的進(jìn)行Python編寫(xiě)?

開(kāi)發(fā) 后端
許多編程人員對(duì)Python編寫(xiě)經(jīng)驗(yàn)為,有的覺(jué)得Python是一門(mén)獨(dú)立的語(yǔ)言,并不是在C++語(yǔ)言的基礎(chǔ)上,可以直接學(xué)習(xí)Python不必先從別的語(yǔ)言入手。

它也是由Python編寫(xiě)而成的Web Server和Web Application應(yīng)用開(kāi)發(fā)框架,讓Python編寫(xiě)在國(guó)內(nèi)發(fā)展得更快,得到更廣泛的應(yīng)用,作為程序員的我們是不是也該出一分力呢?

Twisted是一個(gè)純Python的網(wǎng)絡(luò)應(yīng)用框架。由于Twisted社區(qū)十分的活躍,你可以從網(wǎng)站上得到充分的文檔,讓你輕松上手;Twisted是開(kāi)源的,你可以為框架增加任何的特性,只要你有好的Idea;

由于Twisted是完全由Python編寫(xiě)的,本身會(huì)十分安全和穩(wěn)定。這都得益于Python本身的設(shè)計(jì)和容錯(cuò)機(jī)制;還有最最重要的一點(diǎn),就是你能夠很快的開(kāi)發(fā)出遵循自定義協(xié)議的服務(wù)器。這是不是很帥呢?大家先看以下代碼:

  1. from twisted.internet.protocol import Protocol, Factory  
  2. from twisted.internet import reactor  
  3.  
  4. class Echo(Protocol):  
  5.     def dataReceived(self, data):  
  6.         self.transport.write(data)  
  7.         if data == 'q':  
  8.             self.transport.loseConnection()  
  9.  
  10. def main():  
  11.     factory = Factory()  
  12.     factory.protocol = Echo 
  13.     reactor.listenTCP(8000,factory)  
  14.     reactor.run()  
  15.  
  16. if __name__ == '__main__':  
  17.     main() 

這里定義了一個(gè)很簡(jiǎn)單的Echo協(xié)議:就是將client端的輸入再次回顯而已。運(yùn)行該腳本,然后利用telnet程序去連接本機(jī)的8000端口,連接上之后,你可以嘗試著敲入幾個(gè)字符,你會(huì)發(fā)現(xiàn)屏幕上會(huì)將你敲入的字符顯示了兩遍。

不需要驚訝,因?yàn)橐槐槭怯捎阪I盤(pán)輸入產(chǎn)生的屏幕輸出,而另一遍則是由服務(wù)器將接受到的數(shù)據(jù)發(fā)送回client而產(chǎn)生的輸出。如果你按下'q',就能夠斷開(kāi)與服務(wù)器的連接。雖然以上實(shí)現(xiàn)的功能很簡(jiǎn)單,但是我們確實(shí)建立了一個(gè)屬于自己的服務(wù)器,一個(gè)按照自己定義的協(xié)議提供服務(wù)的server。開(kāi)發(fā)的速度是不是很快呢?

正如Twisted網(wǎng)站上說(shuō)的Develop servers at lightning speed(閃電般的速度)。只要將具體的協(xié)議做進(jìn)一步的擴(kuò)展,就能建立起功能強(qiáng)大的服務(wù)器了。在這里所提到的Twisted的功能僅僅是這座寶藏的冰山一角,在這里就不進(jìn)一步去闡述了。有興趣的朋友可以從Twisted的網(wǎng)站得到更多的信息。

除了上篇和以上講述到的兩個(gè)強(qiáng)大的基于Python類(lèi)庫(kù)之外,還有IronPython,一個(gè)在.NET上的Python實(shí)現(xiàn),不僅可以把Python程序編譯成IL并跟CLR良好的協(xié)作,其執(zhí)行速度還要比Python的C語(yǔ)言實(shí)現(xiàn)要快許多;

還有Zope也不得不提一下。它也是由Python編寫(xiě)而成的Web Server和Web Application應(yīng)用開(kāi)發(fā)框架,其中用到了不少新鮮的東西哦,譬如面向?qū)ο髷?shù)據(jù)庫(kù)以及CMF(Content Management Framework)等。還有Plone,一個(gè)十分出色的CMS(Content Management System),想看看以它進(jìn)行內(nèi)容管理的網(wǎng)站嗎?看看這里很cool的網(wǎng)站列表吧。你會(huì)發(fā)現(xiàn)夏威夷政府,還會(huì)發(fā)現(xiàn)太空總署。

除了Plone,還有PyGame,還有高居SourceForge下載排行榜前列的BitTorrent,還有……趕緊去瞧瞧你身邊的寶藏吧。如果你仍然對(duì)于Python持懷疑的態(tài)度,最后再聽(tīng)聽(tīng)牛人Eric Raymond的意見(jiàn)吧:Why Python?   讓Python編寫(xiě)在國(guó)內(nèi)發(fā)展得更快,得到更廣泛的應(yīng)用,作為程序員的我們是不是也該出一分力呢?畢竟Python讓我們的編碼變得更加有效,也更加有趣。

【編輯推薦】

  1. 如何使Python嵌入C++應(yīng)用程序?
  2. 深入探討Ruby與Python語(yǔ)法比較
  3. Python學(xué)習(xí)資料介紹分享
  4. Python學(xué)習(xí)經(jīng)驗(yàn)談:版本、IDE選擇及編碼解決方案
  5. 淺析Python的GIL和線程安全
責(zé)任編輯:chenqingxiang 來(lái)源: CSDN
相關(guān)推薦

2010-02-03 09:27:21

編寫(xiě)Python程序

2010-01-26 09:40:23

C++代碼

2021-03-17 08:00:59

JS語(yǔ)言Javascript

2017-09-04 17:50:12

2017-09-07 16:20:39

SQL查詢(xún)語(yǔ)句查詢(xún)優(yōu)化

2023-10-10 08:00:00

2010-02-06 10:54:38

Android進(jìn)程

2010-02-02 18:20:43

Python編寫(xiě)

2010-02-03 13:55:51

Python 代碼

2010-01-15 18:06:20

C++引用

2021-03-15 10:23:44

IT支出技術(shù)投資CIO

2016-10-25 12:39:37

Windows優(yōu)化桌面

2019-05-16 14:50:32

CythonPython編程語(yǔ)言

2010-01-20 17:32:16

C++函數(shù)

2009-12-30 10:46:01

Ubuntu目標(biāo)

2010-01-25 14:43:00

C++構(gòu)造函數(shù)

2010-01-22 13:20:27

C++代碼

2010-01-22 18:06:24

C++代碼

2020-06-15 11:04:38

JavaScript 代碼JavaScript

2009-12-29 11:21:55

ADO多線程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)