python的应用和发展

Python的发展已经应用

一.Python语言的由来以及发展

Python的作者,Guido von Rossum,荷兰人。Guido大叔1982年就在阿姆斯特丹大学获得了数学和计算机学位。他作为一个数学家其实更大的乐趣却在计算机编程里面。在Guido的那个年代编程语言的设计原则是让机器更快的运行,诸如PascalCFortran等语言。但是这样的编程方式,编写一个程序的过程需要耗费大量的时间,所以他的另一个选择是shellBourne Shell作为UNIX系统的解释器已经长期存在。UNIX的管理员们常常用shell去写一些简单的脚本,以进行一些系统维护的工作,比如定期备份、文件系统管理等等许多C语言下上百行的程序,在shell下只用几行就可以完成。然而,shell的本质是调用命令。它并不是一个真正的语言。比如说,shell没有数值型的数据类型,加法运算都很复杂。总之,shell不能全面的调动计算机的功能。Guido希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻松的编程。1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了 :类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。Python正式诞生于1991。Python的解释器如今有多个语言实现,我们常用的是CPython(官方版本的C语言实现),其他还有Jython(可以运行在Java平台)、IronPython(可以运行在.NETMono平台)、PyPyPython实现的,支持JIT即时编译)。Python目前有两个版本,Python2Python3,最新版分别为2.7.123.5.2,现阶段大部分公司用的是Python2

二.python语言的优点:

1.简单—Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。

2.易学—就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。

3.免费、开源—PythonFLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。

4.高层语言—当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

5.可移植性—由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括LinuxWindowsFreeBSDMacintoshSolarisOS/2AmigaAROSAS/400BeOSOS/390z/OSPalm OSQNXVMSPsionAcom RISC OSVxWorksPlayStationSharp ZaurusWindows CE甚至还有PocketPCSymbian以及Google基于linux开发的Android平台!

6.解释性—这一点需要一些解释。一个用编译性语言比如CC++写的程序可以从源文件(即CC++语言)转换到一个你的计算机使用的语言(二进制代码,即01)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。

7.面向对象—Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

8.可扩展性—如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用CC++编写,然后在你的Python程序中使用它们。

9.丰富的库—Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGIFTP、电子邮件、XMLXML-RPCHTMLWAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPythonTwistedPython图像库等等。

10.规范的代码—Python采用强制缩进的方式使得代码具有极佳的可读性。

三.Python语言的缺点:

1.运行速度,有速度要求的话,用C++改写关键部分吧。

2.国内市场较小(国内以python来做主要开发的,目前只有一些web2.0公司)。但时间推移,目前很多国内软件公司,尤其是游戏公司,也开始规 模使用他。

3.中文资料匮乏(好的python中文资料屈指可数)。托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容还是只能看英语版。

4.构架选择太多(没有像C#这样的官方.net构架,也没有像ruby由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下 无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。

四.Python语言的应用

1.Web应用开发

Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于PythonWeb程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。

2.操作系统管理、服务器运维的自动化脚本

在很多操作系统里,Python是标准的系统组件。 大多数Linux发行版以及NetBSDOpenBSDMac OS X都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如UbuntuUbiquity安装器,Red Hat LinuxFedoraAnaconda安装器。Gentoo Linux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件 包,Python能够访问WindowsCOM服务及其它Windows API。使用IronPythonPython程序能够直接调用.Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。

3.科学计算

NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序。

4.桌面软件

PyQtPySidewxPythonPyGTKPython快速开发桌面应用程序的利器。

5.服务器软件(网络软件)

Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。

6.游戏

很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于PythonLua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。

7.构思实现,产品早期原型和迭代

YouTubeGoogleYahoo!NASA都在内部大量地使用Python

猜你喜欢

转载自www.cnblogs.com/yangzepeng/p/12333486.html
今日推荐