Python 不仅仅是一个设计优秀的程序语言它能够完成现实中的各种任务包括开发者们日复一日所做的事情。作为编制其他组件、实现独立程序的工具南康网站优化包括开发者们日复一日所做的事情。作为编制其他组件、实现独立程序的工具它通常应用于各种领域。实际上作为一种通用语言Python 的应用角色几乎是无限的:你可以在任何场合应用Python, 从网站和游戏开发到机器人和航天飞机控制。
尽管如此Python 的应用领域分为如下几类。下文将介绍一些Python 如今最常见的应用领域以及每个应用领域内所用的一些工具。
系统编程
Python 对操作系统服务的内置接口使其成为编写可移植的维护操作系统的管理工具和部件(有时也被称为Shell 工具)的理想工具。Python 程序可以搜索文件和目录树可以运行其他程序用进程或线程进行并行处理等等。
Python 的标准库绑定了POSIX 以及其他常规操作系统(OS )工具:环境变量、文件、套接字、管道、进程、多线程、正则表达式模式匹配、命令行参数、标准流接口、Shell 命令启动器、文件名扩展等。此外很多Python 的系统工具设计时都考虑了其可移植性。例如复制目录树的脚本无需做任何修改就可以在几乎所有的Python 平台上运行。
用户图形接口
Python 的简洁以及快速的开发周期十分适合开发GUI 程序。Python 内置了TKinter 的标准面向对象接口Tk GUI API 使Python 程序可以生成可移植的本地观感的GUI 。Python/ Tkinter GUI 不做任何改变就可以运行在微软Windows 、X Windows(UNIX 和Linux )以及Mac OS(Classic 和OS X 都支持)等平台上。一个免费的扩展包PMW 为Tkinter 工具包增加了一些高级部件。此外基于C++ 平台的工具包wxPython GUI API 可以使用Python 构建可移植的GUI 。
诸如PythonCard 和Dabo 等一些高级工具包是构建在wxPython 和Tkinter 的基础API 之上的。通过适当的库你可以使用其他的GUI 工具包例如Qt 、GTK 、MFC 和Swing 等。对于运行于浏览器中的应用或在一些简单界面的需求驱动下Jython(Java 版本的Python)和Python 服务器端CGI 脚本提供了其他一些用户界面的选择。
Internet 脚本
Python 提供了标准Internet 模块使Python 能够广泛地在多种网络任务中发挥作用无论是在服务器端还是在客户端都是如此。脚本可以通过套接字进行通信;从发给服务器端的CGI 脚本的表单中解析信息;通过URL 获取网页;从获取的网页中解析HTML 和XML 文件;通过XML-RPC 、SOAP 和Telnet 通信等。Python 的库使这一切变得相当简单。
不仅如此从网络上还可以获得很多使用Python 进行Internet 编程的第三方工具。例如HTMLGen 可以从Python 类的描述中生成HTML 文件mod_python 包可以使在Apache 服务器上运行的Python 程序更具效率并支持Python Server Page 这样的服务器端模板而且支持客户端运行的服务器端Applet 。此外Python 涌现了许多Web 开发工具包例如Django 、TurboGears 、Pylons 、Zope 和WebWare 使Python 能够快速构建功能完善和高质量的网站。
组件集成
在介绍Python 作为控制语言时曾涉及它的组件集成的角色。Python 可以通过C/C++ 系统进行扩展并能够嵌套C/C++ 系统的特性使其能够作为一种灵活的粘合语言脚本化处理其他系统和组件的行为。例如将一个C库集成到Python 中能够利用Python 进行测试并调用库中的其他组件;将Python 嵌入到产品中在不需要重新编译整个产品或分发源代码的情况下能够进行产品的单独定制。
为了在脚本中使用在Python 连接编译好组件时例如SWIG 和SIP 这样的代码生成工具可以让这部分工作自动完成。更大一些的框架例如Python 的微软Windows 所支持的COM 、基于Java 实现的Jython 、基于.NET 实现的IronPython 和各种CORBA 工具包提供了多种不同的脚本组件。例如在Windows 中Python 脚本可利用框架对微软Word 和Excel 文件进行脚本处理。
数据库编程
对于传统的数据库需求Python 提供了对所有主流关系数据库系统的接口例如Sybase 、Oracle 、Informix 、ODBC 、MySQL 、PostgreSQL 、SQLite 。Python 定义了一种通过Python 脚本存取SQL 数据库系统的可移植的数据库API 这个API 对于各种底层应用的数据库系统都是统一的。例如因为厂商的接口实现为可移植的API 所以一个写给自由软件MySQL 系统的脚本在很大程度上不需改变就可以工作在其他系统上(例如Oracle )– 你仅需要将底层的厂商接口替换掉就可以实现。
Python 标准的pickle 模块提供了一个简单的对象持久化系统:它能够让程序轻松地将整个Python 对象保存和恢复至文件和文件类的对象中。在网络上同样可以找到名叫ZODB 的第三方系统它为Python 脚本提供了完整的面向对象数据库系统系统SQLObject 可以将关系数据库映射至Python 的类模块。并且从Python 2.5 版本开始SQLite 已经成为Python 自带标准库的一部分了。
快速原型