为什么越来越多的企业选择使用Python开发?
近来,Python作为一种功能强大且通用的编程语言而广受好评,它具有非常清晰的语法特点,适用于多种操作系统,目前在国际上非常流行,正在得到越来越多的应用。
1.简介
Python,是一种面向对象、直译式的计算机程序语言,具有近二十年的发展历史。它包含了一组功能完备的标准库,能够轻松完成很多常见的任务。它的语法简单,与其他大多数程序设计语言使用大括号不同,它使用缩进来定义语句块。
Python支持命令式程序设计、面向对象程序设计、函数式编程、面向侧面的程序设计、范型编程多种编程范式。
2.起源
Python的创始人为吉多范罗苏姆(Guido van Rossum)。
关于Python的起源,吉多范罗苏姆在1996年写到:六年前,在1989年12月,我在寻找一门"课余"编程项目来打发圣诞节前后的时间。我的办公室会关门,但我有一台家用电脑,而且没有太多其它东西。我决定为当时我正构思的一个新的脚本语言写一个解释器,它是ABC语言的后代,对UNIX / C程序员会有吸引力。作为一个略微有些无关想法的人,和一个蒙提派森的飞行马戏团(Monty Python's Flying Circus)的狂热爱好者,我选择了Python作为项目的标题。
在2000年他写到:Python的前辈,ABC语言,受到了SETL的启发 - 在完成最终设计之前,Lambert Meertens与纽约大学的SETL小组相处了一年的时间。
3.哲学与定位
Python的设计哲学是"优雅"、"明确"、"简单"。Python开发者的哲学是"用一种方法,最好是只有一种方法来做一件事"。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法。这些准则被称为"Python格言"。在Python解释器内运行import this可以获得完整的列表。
4.应用范围及功能
作为简单的、解释型的、交互式的、可移植的、面向对象的超高级语言。Python有一个交互式的开发环境,因为Python是解释运行,这大大节省了每次编译的时间。Python语法简单,且内置有几种高级数据结构,如字典、列表等,使得使用起来特别简单,有编程经验的一个下午就可学会,一般人员一周内也可掌握。Python具有大部分面向对象语言的特征,可完全进行面向对象编程。它可以在MS-DOS、Windows、Windows NT、Linux、Soloris、Amiga、BeOS、OS/2、VMS、QNX等多种OS上运行。
1、编程语言
Python语言可以用来作为批处理语言,写一些简单工具,处理些数据,作为其他软件的接口调试等。Python语言可以用来作为函数语言,进行人工智能程序的开发,具有Lisp语言的大部分功能。Python语言可以用来作为过程语言,进行我们常见的应用程序开发,可以和VB等语言一样应用。Python语言可以用来作为面向对象语言,具有大部分面向对象语言的特征,常作为大型应用软件的原型开发,再用C++改写,有些直接用Python来开发。
2、数据库
Python在数据库方面也很优秀,可以和多种数据库进行连接,进行数据处理,从商业型的数据库到开放源码的数据库都提供支持。例如:Oracle,Ms SQL Server等等。有多种接口可以与数据库进行连接,至少包括ODBC。有许多公司采用着Python+MySql的架构,当然我们数聚传媒也不例外。因此,掌握了Python使你可以充分利用面向对象的特点,在数据库处理方面如虎添翼。
3、Windows编程
Python不仅可以在Unix类型的操作系统上应用,同样可以在Windows系统里有很好的表现。通过添加PythonWin模块,就可以通过COM形式调用和建立各种资源,包括调用注册表、ActiveX控件以及各种COM等工作,最常见的例子就是通过程序对Office文档进行处理,自动生成文档和图表。
通过Python,还可以利用py2exe模块生成exe应用程序。还有许多其他的日常维护和管理工作也可以交给Python来做,从而减少维护的工作量。利用Python,你还可以开发出象VB,VC,Delphi那样的GUI程序,但却可以在多个平台上执行。这在许多方面并不逊色于Java。
4、多媒体
利用PIL、Piddle、ReportLab等模块,你可以处理图象、声音、视频、动画等,从而为你的程序添加亮丽的光彩。动态图表的生成、统计分析图表都可以通过Python来完成。另外,还有OpenGL。利用PyOpenGl模块,你可以非常迅速的编写出三维场景。
5、科学计算
Python可以广泛的在科学计算领域发挥独特的角色。有许多模块可以帮助你在计算巨型数组、矢量分析、神经网络等方面高效率完成工作。尤其是在教育科研方面,可以发挥出独特的优势。
6、网络编程
Python可以非常方便的完成网络编程的工作,提供了众多的解决方案和模块,可以非常方便的定制出自己的服务器软件,无论是c/s,还是b/s模式,都有很好的解决方法。
7、图形用户界面
Python可以非常方便的实现GUI编程,通过Tkinter,wxPython,QT等等模块,你就可以根据需要编写出强大的跨平台的用户界面程序。
8、游戏编程
Python在很早的时候就是一种游戏编程的辅助工具。在《星球大战》中扮演了重要的角色。在"阿贝斯(Abyss)"、"星球之旅(Star Trek)"、"Indiana Jones"超级大片中担当特技和动画制作的工业光魔公司(Industrial Light)就采用Python制作商业动画。目前,通过Python完全可以编写出非常棒的游戏程序。
5.开发环境
Python程序的开发工具比较多,比较常用的IDLE,eclipse+pydev,pycharm等。通过这些工具,可以让你更为快速的完成工作。
集成开发环境(IDE):
1、IDLE:这是Python里边自带的,基本上可以满足一般开发需要
2、PyCharm:PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制
3、Eclipse+pydev:Eclipse是JAVA的IDE,对于有java开发经验的小伙伴们,学习代价小
6.嵌入与扩展
Python可以嵌入到其它应用程序中,也可以通过C/C++编写扩展模块,从而可以提高程序的运行速度或者完成只有通过C/C++才能完成的工作。现在Python已经可以和C#相结合,并且结合到Visual Studio里边,实现微软的.Net思想。如果你会C语言,再学习Python,这将是一个非常棒的一种选择。
如果你掌握了Python,想在Java里应用它,你可以采用Jython。Jython是采用Java语言实现的Python。这样,你只要按照Python的语法,就可以调用Java的各种类库,快速的编写出基于Java的程序。也就是通过Jython,编写Java程序。这样就可以更为快速的实现Java的功能。Python在面向对象方面和Java是相通的。
7.企业与政务应用
目前,Python已经成功的实现企业级应用,在全球,已经有很多公司采用Python进行企业级软件的开发和应用,比如:ERP和CRM这样的应用。同时,通过Python技术,成功的实现了许多政务应用。比如:
Zope:一个应用程序服务器,具有内容管理、团队开发、XML、面向对象、SOAP接口等一系先进特性,且开放源码
Gadfly:一个用Python写的面向对象关系型数据库,具有小巧、快速、可移植性好,具有大部分SQL语言特性,且开放源码。
还有一些比较有名的公司也在用Python进行开发,如Microsoft、IBM,红帽豆瓣等。
8.数聚传媒选用Python开发
综上,Python经受住了市场的考验并越来越受广大开发者所喜爱。
数聚传媒研发部紧跟国际前沿IT技术发展趋势,采用Python进行web应用开发。在云联DMP大数据管理平台研发过程中,充分利用Python优点,高效稳定的开发出了web端的应用,同时也为数聚传媒研发团队积累了丰富的Python开发经验,为团队今后的Python开发之路奠定了坚实的技术基础。