广东电网有限责任公司惠州供电局 广东惠州 516001
摘要:Python语言是一种面向对象的直译式计算机程序设计语言。它不同于那些复杂的编程,它的使用简单方便,受到各国编程人员的喜爱。目前Python在国内还没有被广泛熟知,但在国外早已得到成熟、广泛的应用,是非常流行的编程语言,无论在Web应用还是非Web应用中均扮演着重要角色。本文主要分析了Python语言编程特点及应用策略。
关键字:Python;特点;应用;策略
随着电脑和互联网的发展和普及,很多人可以自己编写程序。Web开发人员编写网页是在编程,动画创作人员使用Flash是在编程,系统管理员编写管理脚本是在编程,编程无处不在。编程的语言也很多现在:JAVA、C++、Matlab、Python等。其中,Python语言是一种功能强大的具有解释性、交互性和面向对象的第四代计算机编程语言,相对其他语言更加简单,适用性更广。现如今,Python已经成为一种集支持命令式程序设计、函数式编程、面向对象程序设计、面向侧面的程序设计、泛型编程多种编程范式于一身的脚本语言。
一、Python简史
Python是由GuidovanRossum在1989年圣诞节期间开发的一种脚本语言。Python1.0发布与1991年,并没有像Java引起巨大轰动。Python2.0发布于2000年,实现了完整的垃圾回收,而且支持Unicode。Python社区也逐步完善,对Python的发展和推广起到了非常重要的作用。到2008年,Python3.0正式发布,Python已经成为一种集支持命令式程序设计、函数式编程、面向对象程序设计、面向侧面的程序设计、泛型编程多种编程范式于一身的脚本语言。
二、Python的应用领域
Python的应用范围很广,遍及几乎所有的程序设计领域,是一种名副其实“胶水语言”。Python在GUI,Web框架,系统编程,自然语言处理领域都有应用。特别的,Python在网页爬虫、数据挖掘、科学计算、机器学习等领域已经取得了不可替代的作用。网络爬虫:大部分的爬虫都是使用Python实现的。Python原生的urllib简单易用。Scrapy更为强大,和rq/queue结合使用可以很容易地构造一个分布式的爬虫。数据挖掘和科学计算:Python已经成为数据挖掘领域的主力语言,形成了科学计算生态系统。包括数值计算库SciPy、符号计算库,SymPy、绘图库Matplotlib和各种scikit项目(机器学习、统计建模、图像处理数据分析)。这些库提供了一个强大严谨简单的数学环境。
三、Python语言的优
Python语言优雅、简单、实用。与另一种流行的脚本语言Perl比较,Python语言最鲜明的特点是其简洁、易读的语法。
(1)面向对象。Python提供类,类的继承,类的私有和公有属性,例外处理等完善的对面向对象方法的支持。
(2)虚拟机。像Java一样,Python程序在执行前要先编译成字节码,再通过一个虚拟机解释执行。
(3)高级数据结构。Python内置了对列表,关联数组等常用数据结构的支持。
(4)语法简洁优美。Python的语法非常简单易学,并且采用缩进来表示程序的块层次结构。这样做不仅仅减少了不必要的块符号,更重要的是强制程序员用一种清晰统一的风格书写程序,增加了程序的可读性,降低了维护开销。
(5)易于扩展和嵌入。Python语言本身只提供了一个编程语言所需功能的最小内核,其它许多丰富的功能都由扩展模块实现。由于在设计时就考虑到了扩展性,可以很方便地用C或者C++编写Python的扩展模块以添加新的功能,或者把Python解释器自身嵌入到其他程序内部。
由于具有以上特点,Python特别适用于混合语言编程开发。
四、Python基于Web应用和网游设计
Python和Java语言都是开源的、跨平台语言,使用Python可以完成Java的所有功能,在基于Web应用和网游设计中有更大优势。
Python基于Web应用的实例中,知名的豆瓣网就是使用Python作为主体开发语言,进行全面网站架构以及相关应用的设计与开发,也成为国内较成功的Python之Web应用。
期刊文章分类查询,尽在期刊图书馆
使用Python进行Web开发比较流行的线程模型是基于WSGI传统模式,WSGI是Pythonwebserver、application、middle⁃ware之间的官方规范标准,现在主流的Pythonwebserver和framework都是支持WSGI的。在Python后续发展中,WSGI也有两方面的局限,一是不支持异步,例如一个异步的Webserver的Tornado,运行Django(Django是python的web开发框架),则Tornado的异步特性完全用不上;二是WSGIv1.0不支持Py⁃thon3.x,因此在Web应用未来发展趋势中,异步模型将是一个转换方向。
另一方面,当前Python也已经逐渐成为了WebGame行业的主流编程语言。国内网游行业资深从业人员使用Python设计的动作类网页游戏中,在服务器端的设计基本使用Python开发,甚至没有使用C/C++代码。在以往大多游戏设计里面,一般使用较多C++来写host,同时经常用到脚本语言,比如最常用的一个脚本语言LUA,一般来说,由C++调用多个LUA脚本来完成一个项目的业务逻辑;而使用Python设计时有所不同,Python本身就是用来写host,主要调用使用Python来写的业务逻辑。
网易的大量网络游戏开发在服务器端代码70%以上也是使用的Python语言设计,代替了原来占比较多的C/C++。
五、基于Python的云技术及大数据应用
Python基于云技术应用中,很多底层的虚拟化都使用py⁃thon。云计算核心思想是把所有的资源以服务的方式提供给客户,云计算的平台包括IaaS/PaaS/SaaS等,IaaS是把基础设施以服务的方式提供给客户,虚拟化是IaaS的核心技术,需要用虚拟化技术的物理资源进行虚拟化,然后使用软件的方式管理这些资源;PaaS是把计算平台以服务的方式提供给客户;SaaS也是类似。构建的IasS、SaaS等服务的OpenStack(开放协议栈)是采用Python开发的,因此云计算的其他服务也是建立在IasS等服务之上的。
易度的PaaS是国内第一个基于Python语言的企业应用云端开发平台。易度使用现有的企业PaaS平台,利用现有开源技术,依托Python/Zope /Pyramid等主要技术来构建这一平台。在2007年易度转向互联网软件,推出易度云办公(everydo.com),专注企业云端的办公方案。BAE是百度近年发布的云计算平台,百度云同时支持PHP、Java和Python三语言,Python的应用也让人眼前一亮。另外,谷歌应用引擎(GoogleAppEngine)云计算服务,也相当于一种虚拟服务器,它目前也是仅支持Py⁃thon,它的一切都是围绕Python构建的。
在大数据处理方面,Python语言可通过python提供的标准库有效的解决用Python进行大数据处理的问题,这些数据转换成适合Python分析的数据结构,之后用Python相应的工具进行数据分析、处理,提出数据特征并用一定的结构形式表现出来。
六、Python语言的缺点
作为一种动态语言,Python的性能一直为人所诟病。实际上,Python的执行与一般脚本语言还是有很大的区别的。Python也有自己的PythonVirtualMachine,.py文件会被先编译成Python的bytecode,再通过虚拟机执行。Bytecode在Python虚拟机里对应的是PyCodeObject对象。加载模块时,模块对应的PyCodeObject对象就被写入了.pyc文件,整个虚拟机模拟x86上程序的执行。这种执行方式比一般的虚拟机如JVM更为高级、灵活和抽象,与此同时带来的就是性能的下降。当然,Python也有一些其他的缺点,比如很容易被反编译,可能不适合于大型的商业项目。社区没有Ruby统一,类的命名比较混乱。然而这些缺点并没有带来太多的问题,随着Python的进一步发展,在可以预见的未来这些问题必将解决。
参考文献
[1]基于Python语言的空间数据处理[J].何丽娴,甘淑,陈应跃.价值工程.2014(36)
[2]基于Python的Web数据采集技术[J].齐鹏,李隐峰,宋玉伟.电子科技. 2012(11)
[3]基于Python的文本分类系统开发研究[J].李生红.计算机应用与软件.2011(03)
[4]基于Django和Python的Web开发[J].王冉阳.电脑编程技巧与维护.2012(02)
[5]Python与Matlab混合语言编程[J].董焰民,王保保.现代电子技术.2017(14)
论文作者:翟志恺
论文发表刊物:《基层建设》2018年第33期
论文发表时间:2019/1/3
标签:语言论文; 程序设计论文; 脚本语言论文; 面向对象论文; 爬虫论文; 程序论文; 都是论文; 《基层建设》2018年第33期论文;