如何更好更快的进行Python编写?

5
Python 数据库 C/C++ 22127 次浏览

许多编程人员对Python编写经验为,有的觉得Python是一门独立的语言,并不是在C++语言的基础上,可以直接学习Python不必先从别的语言入手。


它也是由Python编写而成的Web Server和Web Application应用开发框架,让Python编写在国内发展得更快,得到更广泛的应用,作为程序员的我们是不是也该出一分力呢?

Twisted是一个纯Python的网络应用框架。由于Twisted社区十分的活跃,你可以从网站上得到充分的文档,让你轻松上手;Twisted是开源的,你可以为框架增加任何的特性,只要你有好的Idea;

由于Twisted是完全由Python编写的,本身会十分安全和稳定。这都得益于Python本身的设计和容错机制;还有最最重要的一点,就是你能够很快的开发出遵循自定义协议的服务器。这是不是很帅呢?大家先看以下代码:

  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() 

这里定义了一个很简单的Echo协议:就是将client端的输入再次回显而已。运行该脚本,然后利用telnet程序去连接本机的8000端口,连接上之后,你可以尝试着敲入几个字符,你会发现屏幕上会将你敲入的字符显示了两遍。

不需要惊讶,因为一遍是由于键盘输入产生的屏幕输出,而另一遍则是由服务器将接受到的数据发送回client而产生的输出。如果你按下'q',就能够断开与服务器的连接。虽然以上实现的功能很简单,但是我们确实建立了一个属于自己的服务器,一个按照自己定义的协议提供服务的server。开发的速度是不是很快呢?

正如Twisted网站上说的Develop servers at lightning speed(闪电般的速度)。只要将具体的协议做进一步的扩展,就能建立起功能强大的服务器了。在这里所提到的Twisted的功能仅仅是这座宝藏的冰山一角,在这里就不进一步去阐述了。有兴趣的朋友可以从Twisted的网站得到更多的信息。

除了上篇和以上讲述到的两个强大的基于Python类库之外,还有IronPython,一个在.NET上的Python实现,不仅可以把Python程序编译成IL并跟CLR良好的协作,其执行速度还要比Python的C语言实现要快许多;

还有Zope也不得不提一下。它也是由Python编写而成的Web Server和Web Application应用开发框架,其中用到了不少新鲜的东西哦,譬如面向对象数据库以及CMF(Content Management Framework)等。还有Plone,一个十分出色的CMS(Content Management System),想看看以它进行内容管理的网站吗?看看这里很cool的网站列表吧。你会发现夏威夷政府,还会发现太空总署。

除了Plone,还有PyGame,还有高居SourceForge下载排行榜前列的BitTorrent,还有……赶紧去瞧瞧你身边的宝藏吧。如果你仍然对于Python持怀疑的态度,最后再听听牛人Eric Raymond的意见吧:Why Python?   让Python编写在国内发展得更快,得到更广泛的应用,作为程序员的我们是不是也该出一分力呢?毕竟Python让我们的编码变得更加有效,也更加有趣。

请尽量让自己的答案能够对别人有帮助

13个答案

默认排序 按投票排序