说说Python的版本选择、IDE、库


Python #版本选择2012-11-23 08:56
【版本选择】
  Python的3.0版本,在开发阶段被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候就没有考虑向下兼容。许多针对早期Python版本设计的程序都无法在Python 3.0上正常运行。为了照顾现有程序,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移。基于早期Python版本而能正常运行于Python 2.6并无警告的程序可以通过一个2 to 3的转换工具无缝迁移到Python 3.0。
  Python 3.0的变化主要在以下几个方面:
  部分函数和语句的改变:最引人注意的改变是print语句没有了,取而代之的是print函数。
  字符串和字节:类似Java,str类表示一个Unicode字符串,代替了早期版本的unicode类。而一堆字节则用类似b"abc"的语法创建,用bytes类表示。


【开发环境】


Python IDE
  ●IDLE:Python内置IDE (随python安装包提供)
  ●Komodo和Komodo Edit:后者是前者的免费精简版
  ●PythonWin:ActivePython或pywin32均提供该IDE,仅适用于Windows
  ●SPE(Stani's Python Editor):功能较多的自由软件,基于wxPython
  ●Ulipad:功能较全的自由软件,基于wxPython;作者是中国Python高手limodou
  ●WingIDE:可能是功能最全的IDE,但不是自由软件(教育用户和开源用户可以申请免费key)
  ●Eric:基于PyQt的自由软件,功能强大。全名是:The Eric Python IDE
  ●DrPython
  ●PyScripter:使用Delphi开发的轻量级的开源Python IDE, 支持Python2.6和3.0。
  ●PyPE:一个开源的跨平台的PythonIDE。
  ●bpython: 类Unix操作系统下使用curses库开发的轻量级的Python解释器。语法提示功能。


  ●eclipse + pydev插件:方便调试程序
  ●emacs:自带python支持,自动补全、refactor等功能需要插件支持
  ●Vim: 最新7.3版编译时可以加入python支持,提供python代码自动提示支持
  ●Visual Studio 2003 + VisualPython:仅适用Windows,已停止维护,功能较差
  ●SlickEdit
  ●Visual Studio 2010 + Python Tools for Visual Studio
  ●TextMate
  ●Netbeans IDE
  另外,诸如EditPlus、UltraEdit、PSPad等通用的程序员文本编辑器软件也能对Python代码编辑提供一定的支持,比如代码自动着色、注释快捷键等,但是否够得上集成开发环境的水平,尚有待评估。


【库】


TkinterPython默认的图形界面接口。Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。
PyGTK用于python GUI程序开发的GTK+库。GTK就是用来实现GIMP和Gnome的库。
PyQt用于python的Qt开发库。QT就是实现了KDE环境的那个库,由一系列的模块组成,有qt, qtcanvas, qtgl, qtnetwork, qtsql, qttable, qtui and qtxml,包含有300个类和超过5750个的函数和方法。PyQt还支持一个叫qtext的模块,它包含一个QScintilla库。该库是Scintillar编辑器类的Qt接口。
wxPythonGUI编程框架,熟悉MFC的人会非常喜欢,简直是同一架构(对于初学者或者对设计要求不高的用户来说,使用Boa Constructor可以方便迅速的进行wxPython的开发)
PILpython提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。还能进行一些图形效果的处理,如图形的放大、缩小和旋转等。是Python用户进行图象处理的强有力工具。
Psyco一个Python代码加速度器,可使Python代码的执行速度提高到与编译语言一样的水平。
xmpppyJabber服务器采用开发的XMPP协议,Google Talk也是采用XMPP协议的IM系统。在Python中有一个xmpppy模块支持该协议。也就是说,我们可以通过该模块与Jabber服务器通信,是不是很Cool。
PyMedia用于多媒体操作的python模块。它提供了丰富而简单的接口用于多媒体处理(wav, mp3, ogg, avi, divx, dvd, cdda etc)。可在Windows和Linux平台下使用。
PmwPython megawidgets,Python超级GUI组件集,一个在python中利用Tkinter模块构建的高级GUI组件,每个Pmw都合并了一个或多个Tkinter组件,以实现更有用和更复杂的功能。
PyXML用Python解析和处理XML文档的工具包,包中的4DOM是完全相容于W3C DOM规范的。它包含以下内容: 
xmlproc: 一个符合规范的XML解析器。 
Expat: 一个快速的,非验证的XML解析器。还有其他 
和他同级别的还有 PyHtml PySGML。
PyGame用于多媒体开发和游戏软件开发的模块。
PyOpenGL模块封装了“OpenGL应用程序编程接口”,通过该模块python程序员可在程序中集成2D和3D的图形。
NumPy、NumArray、SAGENumArray是Python的一个扩展库,主要用于处理任意维数的固定类型数组,简单说就是一个矩阵库。它的底层代码使用C来编写,所以速度的优势很明显。SAGE是基于NumPy和其他几个工具所整合成的数学软件包,目标是取代Magma, Maple, Mathematica和Matlab 这类工具。
MySQLdb用于连接MySQL数据库。还有用于zope的ZMySQLDA模块,通过它就可在zope中连接mysql数据库。
Python-ldap提供一组面向对象的API,可方便地在python中访问ldap目录服务,它基于OpenLDAP2.x。
smtplib发送电子邮件。
ftplib定义了FTP类和一些方法,用以进行客户端的ftp编程。如果想了解ftp协议的详细内容,请参考RFC959。

相关文章

粤ICP备11097351号-1