`

使用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 ,我们将会在第2章中进行介绍)和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 自带标准库的一部分了。

快速原型

对于Python 程序来说,使用Python 或C编写的组件看起来都是一样的。正因为如此,我们可以在一开始利用Python 做系统原型,之后再将组件移植到C或C++ 这样的编译语言上。和其他的原型工具不同,当原型确定后,Python 不需要重写。系统中不需要像C++ 这样执行效率的部分可以保持不变,从而使维护和使用变得轻松起来。

数值计算和科学计算编程

我们之前提到过的NumPy 数值编程扩展包括很多高级工具,例如,矩阵对象、标准数学库的接口等。通过将Python 与出于速度考虑而使用编译语言编写的数值计算的常规代码进行集成,NumPy 将Python 变成一个缜密严谨并简单易用的数值计算工具,这个工具通常可以替代已有的代码,而这些代码都是用FORTRAN 或C++ 等编译语言编写的。其他一些数值计算工具为Python 提供了动画、3D 可视化、并行处理等功能的支持。

游戏、图像、人工智能、XML 、机器人等

Python 的应用领域很多,远比本书提到的多得多。例如,可以利用pygame 系统使用Python 对图形和游戏进行编程;用PIL 和其他的一些工具进行图像处理;用PyRo 工具包进行机器人控制编程;用xml 库、xmlrpclib 模块和其他一些第三方扩展进行XML 解析;使用神经网络仿真器和专业的系统shell 进行AI 编程;使用NLTK 包进行自然语言分析:甚至可以使用PySol 程序下棋娱乐。可以从Vaults of Parnassus 以及新的PyPI 网站(请在Google 或http://www.python.org 上获得具体链接)找到这些领域的更多支持。

一般来说,这些特定领域当中有许多在很大程度上都是Python 组件集成角色的再次例证。采用C这样的编译语言编写库组件,增加Python 至其前端,这样的方式使Python 在不同领域广泛地发挥其自身价值。对于一种支持集成的通用型语言,Python 的应用极其广泛。

分享到:
评论

相关推荐

    tarena的人工智能解读 python能做些什么

    "tarena的人工智能解读 python能做些什么"这个主题旨在深入浅出地介绍Python在人工智能领域的广泛应用和强大功能。 首先,Python在数据处理方面扮演着核心角色。它拥有Pandas、NumPy等库,能够方便地进行数据清洗、...

    1.6 Python能够做些什么|Python入门导学|Python3.8入门 & 进阶 & 原生爬虫实战完全解读

    1.6_Python能够做些什么|Python入门导学|Python3.8入门_&_进阶_&_原生爬虫实战完全解读

    python学些资料

    Python是一种广泛使用的高级编程语言,以其易读性、简洁性和丰富的库支持而闻名。随着版本的不断迭代,Python引入了许多新特性和改进,逐步淘汰了旧版本,如Python 2.7。这篇文档将深入探讨Python的新特性,尤其是与...

    聊聊Python都能做些什么

    这意味着任何人都可以自由下载、使用和分发 Python。开源的特性还鼓励开发者社群贡献自己的力量来改进语言本身及其生态系统。Python 社区非常活跃,拥有大量的第三方库和框架,几乎涵盖了所有常见的编程任务,极大地...

    java中调用python的必备jar包

    在Java中想要调用python程序,可以加入python的依赖包。 Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个...建议下载最新版本的Jpython,因为可以使用的python函数库会比老版本的多些,目前最新版本为2.7。

    python些的五子棋人机代码

    总结来说,这个"python些的五子棋人机代码"项目涵盖了以下几个核心知识点: 1. Python基础:包括数据结构(如列表和二维数组)、循环、函数和文件操作。 2. 游戏逻辑:棋盘状态的表示、落子规则、胜负判断。 3. AI...

    Python核心编程(第3版)

    本书是经典的Python [1] ...第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式、网络编程、网络客户端编程、多线程编程、图形用户界面编程、Web编程、数据库编程、扩展Python 和一些其他材料。

    用Python做些有趣的项目.zip

    在本项目"用Python做些有趣的项目.zip"中,我们可以探索如何利用Python进行各种有趣且富有挑战性的任务,从而提升自己的编程技能。下面将详细介绍几个可能的Python项目方向以及涉及的相关知识点。 1. **数据分析与...

    python大学教程吕云翔课后答案-Python程序设计基础教程.pdf

    选取了Python在⼀些当下流⾏的具体应⽤场景下的使⽤⽅法。 在某些章节,尤其是有关实际编程的章节,辅助有视频讲解。 Python是⼀门简单易学、功能强⼤的编程语⾔,拥有⾼效的⾼层数据结构,特别适⽤于快速应⽤程序...

    python实现通讯录功能

    在Python编程中,实现一个通讯录功能是一项基础但实用的任务,可以帮助我们理解文件操作、数据存储以及用户交互等核心概念。下面将详细讲解如何利用Python实现这个通讯录系统。 首先,我们需要创建一个数据结构来...

    【Python应用核心编程 第3版】( Core Python Applications Programming Wesley Chun)

    第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式、网络编程、网络客户端编程、多线程编程、图形用户界面编程、Web编程、数据库编程、扩展Python 和一些其他材料。 本书适合Python已经入门...

    Python核心编程代码

    第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式、网络编程、网络客户端编程、多线程编程、图形用户界面编程、Web编程、数据库编程、扩展Python 和一些其他材料。本书适合Python初学者,...

    Python 核心编程 第二版.mobi

    本书是经典的Python [1] ...第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式、网络编程、网络客户端编程、多线程编程、图形用户界面编程、Web编程、数据库编程、扩展Python 和一些其他材料。

    Python画scratch小猫咪代码-Python画美国麻省理工学院编程猫代码-Python海龟制作gif-Python海龟截

    由于要写500个字,所以下面的代码先露些给大家看一下: import turtle # 以下模块安装方法 pip install sprites from sprites import Screen # 导入能捕屏的屏幕命令 # 以下模块安装方法 pip install gameturtle ...

    Python Tkinter入门讲义 完整版PDF

    Python 使用 Tkinter 可以快速的创建 GUI 应用程序。 Tkinter 的优点和缺点 1. 简单易学,相对于其他的比如 wxPython,PyQt 等等,学起来会非常轻松。 2. 可以使用少量的代码产生功能强大的 GUI 界⾯,这一点 是相...

    Python 核心编程 第二版.azw3

    本书是经典的Python [1] ...第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式、网络编程、网络客户端编程、多线程编程、图形用户界面编程、Web编程、数据库编程、扩展Python 和一些其他材料。

    python 3.1入门指南.pdf

    在结束部分,提出了现在读者可以做些什么,比如如何进一步学习和应用Python。还提供了关于交互的输入编辑和历史记录的操作指南,包括行编辑和历史记录的管理,以及键盘绑定信息。 需要注意的是,由于文档内容是通过...

    一组使用稀疏编码算法 进行特征提取和图像分类 的 Python工具_python_代码_下载

    一组 Python 工具,用于使用稀疏编码算法进行特征提取和图像分类。 特征 稀疏编码算法 稀疏编码是一类无监督方法,用于学习一组过完备字典以有效地表示数据。每个信号都可以表示为字典中原子的稀疏线性组合: 些受...

Global site tag (gtag.js) - Google Analytics