`

使用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 的应用极其广泛。

分享到:
评论

相关推荐

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

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

    python学些资料

    最新的python新特性,淘汰python2.7 最新的python新特性,淘汰python2.7 最新的python新特性,淘汰python2.7

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

    tarema的人工智能Python入门宣讲介绍

    java中调用python的必备jar包

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

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

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

    千锋教育Python入门教程.pdf

    千锋教育 Python 视频教程 www.qfedu.com/video 做真实的自己-用良心做教育 千锋教育 Python 入门教程 有人说,看着 Python 简单易学,想尝试自学,打算找些入门教程自学 Python,不知道哪的视频好。现在,你可来对...

    Python核心编程代码

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

    Python访问Mysql数据库

    这是为什么Python 如此优秀的 原因之一———它是由一群希望看到一个更加优秀的Python 的 人创造并经常改进着的。 (3) 可移植性 由于它的开源本质,Python 已经被移植在许多平台上 (经过改动使它能够工作在不同...

    python少儿趣味编程视频教程全套-Python少儿趣味编程.pdf

    python少⼉趣味编程视频教程全套-Python少⼉趣味编程 Python简单易学,功能强⼤,是少⼉学习编程的⾸选语⾔。本书是少⼉学习Python编程的趣味指南,全书共17章,按照由简到难、逐步 深⼊的⽅式组织各章内容。本书从...

    python程序设计基础教程ppt-Python程序设计基础教程.pdf

    《Python程序设计基础教程》既可以作为⾼等院校相关专业的教材,也可以作为程序设计爱好者的学习指导⽤书。 详细介绍了Python语⾔的各种规则和规范。 选取了Python在⼀些当下流⾏的具体应⽤场景下的使⽤⽅法。 在...

    Python 核心编程 第二版.mobi

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

    python程序设计实践教程张莉答案-Python程序设计(2018年春).pdf

    Python程序设计(2018年 春) 本课程主要⾯向⾮计算机专业学习者,不局限某个专业和学历层次,需要⼀些程序设计的基本概念如计算机求解问题的框架和⼀些如素数判 断这样的基本算法,缺少上述基础的同学不⽤担⼼,在...

    用Python做些有趣的项目.zip

    python项目

    Python 核心编程 第二版.azw3

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

    Python 核心编程 第二版.pdf

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

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

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

    Python程序设计:使用requests库下载页面.pptx

    应该先弄清楚要从网页中爬取些什么,然后存储什么 “种子”页面的分析,生成爬虫入口 页面结构分析,取出需要的数据 数据存储入库 requests库 简介 requests是用python编写的基于Apache2 licensed 许可证的HTTP库。...

    Python Tkinter入门讲义 完整版PDF

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

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

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

    python入门教程pdf-python基础教程第4版pdf.pdf

    python⼊门教程pdf-python...也可以使⽤⼀些 ⽐较酷炫的效果,青少年都是有个性的。 第三、针对成年⼈python视频教程的计算机。成年⼈访问计算机的时候,很多都是有着⼀定的⽬的,不是寻找⼀些信息、参与话题的互 动

Global site tag (gtag.js) - Google Analytics