随着技术革新,物理硬件功能不断提高,而软件的复杂性也不断增大,开发效率越来越被企业重视;同时在大数据和科学计算领域,需要快速分析与验证,开发便捷性和速度非常重要。因此很多人意识到开发效率比机器效率更为重要,Python逐渐得到越来越多开发者的亲睐了。
2012-2014年,云计算升温,大量创业公司和互联网巨头挤进云计算领域,而最著名的云核算开源渠道OpenStack就是基于 Python 开发的。而近年的大数据与人工智能,机器学习/深度学习,整个生态最活跃支持度最高的编程语言也是Python。
当今Python已经成为互联网最热门的编程语言之一。在「Top 10 的编程语言走势图」可以看到,Python迅速进入前三位,而且还一度成为了最受欢迎的语言。
内容简介
本篇将对 Python 进行简要的介绍,通过阅读本篇内容您将了解到:
- Python 简要介绍;
- Python 发展历史;
- Python 特点特性;
- Python 应用场景;
Python简介
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构
- Python 是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
- Python 是交互式语言:这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
- Python 是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
- Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。
Python发展历史
Python是由Guido van Rossum(Python之父,阿姆斯特丹大学数学和计算机硕士)在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。
- Python1.0版本于1994年1月发布,这个版本的主要新功能是lambda, map, filter和reduce。
- 2000年10月份,Python2.0发布了。这个版本的主要新功能是内存管理和循环检测垃圾收集器以及对Unicode的支持。然而,尤为重要的变化是开发的流程的改变,Python此时有了一个更透明的社区。
- 2008年的12月份,Python3.0发布了。Python3.x不向后兼容Python2.x。
Python2.7 是最后一个 Python2.x 版本,它除了支持Python 2.x语法外,还支持部分Python 3.1语法。
Python特点
- 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
- 2.易于阅读:Python代码定义的更清晰。
- 3.易于维护:Python的成功在于它的源代码是相当容易维护的。
- 4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
- 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
- 6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
- 7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
- 8.数据库:Python提供所有主要的商业数据库的接口。
- 9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。
- 10.可嵌入:你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
Python应用场景
- 常规软件开发
Python支持函数式编程和OOP面向对象编程,能够承担任何种类软件的开发工作,因此常规的软件开发、脚本编写、网络编程等都属于标配能力。
- 科学计算
随着NumPy,SciPy,Matplotlib,Enthoughtlibrarys等众多程序库的开发,Python越来越适合于做科学计算、绘制高质量的2D和3D图像。
和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛,有更多的程序库的支持。虽然Matlab中的许多高级功能和toolbox目前还是无法替代的,不过在日常的科研开发之中仍然有很多的工作是可以用Python代劳的。
- 自动化运维
这几乎是Python应用的自留地,作为运维工程师首选的编程语言,Python在自动化运维方面已经深入人心,比如Saltstack和Ansible都是大名鼎鼎的自动化平台。
- 云计算
开源云计算解决方案OpenStack就是基于Python开发的,搞云计算的同学都懂的。
- WEB开发
基于Python的Web开发框架不要太多,比如耳熟能详的Django,还有Tornado,Flask。其中的Python+Django架构,应用范围非常广,开发速度非常快,学习门槛也很低,能够帮助你快速的搭建起可用的WEB服务。
- 网络爬虫
也称网络蜘蛛,是大数据行业获取数据的核心工具。没有网络爬虫自动地、不分昼夜地、高智能地在互联网上爬取免费的数据,那些大数据相关的公司恐怕要少四分之三。能够编写网络爬虫的编程语言有不少,但Python绝对是其中的主流之一,其Scripy爬虫框架应用非常广泛。
- 数据分析
在大量数据的基础上,结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石。Python是数据分析的主流语言之一。
- 人工智能
Python在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。