Python、VPython、NumPy、MatPlotLib简介

2.1 Python简介

2.1.1 历史简介

Guido van Rossum于1989年底始创了Python,那时,他还在荷兰的CWI(Centrum voor Wiskunde enInformatica,国家数学和计算机科学研究院)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。之所以选中 Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty Python的飞行马戏团的爱好者。

就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。 1991年初,Python发布了第一个公开发行版。

2.1.2 Python介绍

 Python是一种面向对象的、动态的程序设计语言。具有非常简洁而清晰的语法,适合于完成各种高层任务。它既可用来快速开发程序脚本,也可以用来开发大规模的软件。

 随着NumPy,SciPy,Matplotlib,Enthought librarys等众多程序库的开发,Python越来越适合于做科学计算、绘制高质量的2D和3D图像。  

2.1.3 优点

   1) 软件质量

    在很大程度上,Python更注重可读性、一致性和软件质量,从而与脚本语言世界中的其他工具区分开来。Python代码的设计致力于可读性,因此具备了比传统脚本语言更优秀的可重用性。即使 代码并不是亲手所写,Python的一致性也保证了其代码易于理解。此外,Python支持软件开发的高级重用机制。例如面向对象程序设计(OOP)。

   2) 开发者效率

    相对于C、C++和Java等编译/静态类型语言,Python的开发者效率提高了数倍。Python代码的大小往往只有C++或Java代码的五分之一到 三分之一。这就意味着可以录入更少的代码并在开发完成之后维护更少的代码。并且Python程序可以立即运行,无需传统编译/静态语言所必须的编译及连接 等步骤,进一步提高了程序员的效率。

   3) 程序的可移植性

    绝大多数的Python程序不做任何改变即可在所有主流计算机平台上运行。例如,在Linux和Windows之间移植Python代码,只需简单地在机器 间复制代码即可。此外,Python提供了多种可选的独立程序,包括用户图形界面、数据库接入、基于Web系统等。甚至包括程序启动和文件夹处理等操作系 统接口,Python尽可能地考虑了程序的可移植性。

   4) 标准库的支持

    Python 内置了众多预编译并可移植的功能模块,这些功能模块称作标准库(standard library)。标准库支持一系列应用级的编程任务,涵盖了从字符模式到网络脚本编程的匹配等的方面。此外,Python可通过自行开发的库或众多第三 方的应用支持软件进行扩展。Python的第三方支持工具包括网站开发、数值计算、串口读写、游戏开发等各个方面。例如,NumPy被描述为一个免费的、 如同Matlab一样功能强大的数值计算开发平台。

   5) 组件集成

     Python 脚本可通过灵活的集成机制轻松地与应用程序的其他部分进行通信。这种集成使Python成为产品定制和扩展的工具。如今,Python可以使用C和C++ 的库,可以被C和C++的程序调用,可以与Java组件集成,可以与COM和.NET等框架进行通信,并且可以通过SOAP、XML-RPC和CORBA 等接口与网络进行交互。Python绝不仅仅是一个独立的工具。

 

2.2 VPython简介(实例见4.2)

VPython is the Python programming language plus a 3D graphics module called "Visual" originated by David Scherer in 2000. VPython makes it easy to create navigable 3D displays and animations, even for those with limited programming experience. Because it is based on Python, it also has much to offer for experienced programmers and researchers.

VPython是Python编程语言附加的3D“可视化”图形模块,在2000年由David Scherer提出。VPython可以方便的创建3D演示和动画,甚至对于那些没有编程经验的人都可以使用。因为VPython是基于Python的,并且VPython对有经验的程序员和研究者也很有帮助。

 

2.3 下载和安装Python2.6和VPython2.6(Windows环境)

下载地址:http://vpython.org/contents/download_windows.html

  S1:在该网站找到支持Window的Python版本.

  S2:下载和安装Python-2.6.6,安装后的界面如图2.1所示:

Python、VPython、NumPy、MatPlotLib简介 - 牛皮糖 - 牛皮糖的旅程

                         图2.1  Python2.6.6的运行界面

   S3:再下载和安装VPython-Win-Py2.6-5.51,安装后的界面如图2.2所示:

Python、VPython、NumPy、MatPlotLib简介 - 牛皮糖 - 牛皮糖的旅程

图2.2  VPython-Win-Py2.6-5.51的运行界面

   S4:在菜单栏里“File”->“Open” ->“C:\Python2.66\Lib\site-packages\visual”->“文件名.py”->在新打开的窗口执行“Run”->“Run Module(或者按快捷键F5)”->就可以运行程序,实现可视化效果。

 

2.4 NumPy(实例见4.3)

下载地址:http://numpy.scipy.org/

NumPy是Python用于科学计算的基础包。可以实现类似于矩阵操作,随机数生成,以及线性回归等在内的较为简单的科学计算。NumPy已经集成在VPython中,无需再下载。

 

2.5 MatPlotLib

下载地址:http://matplotlib.sourceforge.net/

下载版本:matplotlib-0.98.5.3.win32-py2.6.exe

 Matplotlib是一个在python下实现的类matlib的纯python的三方库,旨在用python实现matlab的功能,是python下最出色的绘图库,功能很完善,其风格跟matlib很相似,同时也继承了python的简单明了的风格,其可以很方便地设计和输出二维以及三维的数据,其提供了常规的笛卡尔坐标,极坐标,球坐标,三维坐标等。其输出的图片质量也达到了科技论文中的印刷质量,日常的基本绘图更不在话下。

Matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。

2.6 Python(x,y)(推荐下载此软件包)

下载地址:http://www.pythonxy.com/

下载版本:稳定版本 Python(x,y)-2.6.2.0.exe 

          最新版本 Python(x,y)-2.6.5.6.exe  

   python(x,y)是一个基于python的科学计算软件包,收集了众多的函数库以及文档、教程,并配备了可视化的程序界面和集成开发环境,非常方便科研人员使用。

python(x,y)目前的稳定版本为2.6.2,包含集成开发环境Eclipse和python开发插件pydev、数据交互式编辑和可视化工具 spyder、基础数学库numpy和高级数学库scipy、3D可视化工具集MayaVi、python界面开发库PyQt、python与C/C++ 混合编译器SWIG,以及其他多种数学软件库,并配备了丰富齐全的帮助文档。

posted @ 2011-03-24 15:26  牛皮糖NewPtone  阅读(5621)  评论(0编辑  收藏  举报