Python是一种面向对象的解释型计算机程序设计语言,它最初由荷兰人吉多·范罗苏姆研发,并于1991年首次发行。在使用Python进行开发之前,有必要先了解一下Python。本节将针对Python的特点、版本和应用领域进行介绍。
Python语言之所以能够迅速发展,受到程序员的青睐,与它具有的特点密不可分。Python 的特点可以归纳为以下几点:
1.简单易学
Python语法简洁,非常接近自然语言,它仅需少量关键字便可识别循环、条件、分支、函数等程序结构。与其他编程语言相比,Python可以使用更少的代码实现相同的功能。
2.免费开源
Python是开源软件,这意味着可以免费获取Python源码,并能自由复制、阅读、改动;Python在被使用的同时也被许多优秀人才改进,进而不断完善。
3.可移植性
Python作为一种解释型语言,可以在任何安装有Python 解释器的环境中执行,因此使Python程序具有良好的可移植性,在某个平台编写的程序无须或仅需少量修改便可在其他平台运行。
4.面向对象
面向对象程序设计(0bjectOrientedProgramming)的本质是建立模型以体现抽象思维过程和面向对象的方法,基于面向对象编程思想设计的程序质量高、效率高、易维护、易扩展。Python正是一种支持面向对象的编程语言,因此使用Python可开发出高质、高效、易于维护和扩展的优秀程序。
5.丰富的库
Python不仅内置了庞大的标准库,而且定义了丰富的第三方库帮助开发人员快速、高效地处理各种工作。例如,Python提供了与系统操作相关的os库、正则表达式re模块、图形用户界面tkinter库等标准库。只要安装了Python,开发人员就可自由地使用这些库提供的功能。除此之外,Python支持许多高质量的第三方库,例如图像处理库pillow、游戏开发库pygame、科学计算库numpy等,这些第三方库可通过pip工具安装后使用。
目前,市场上Python2和Python3两个版本并行。相比于早期的Python2,Python3历经了较大的变革。为了不带人过多的累赘,Python3在设计之初没有考虑向下兼容,因此许多使用Python2设计的程序无法在Python3.上正常执行。
Python官网推荐使用Python 3,考虑到目前Python 2在市场上仍占有较大份额,这里针对Python2和Python3的部分区别进行介绍。
1.print()函 数替代了print语句
Python 2使用print 语旬进行输出,Python 3使用print()函 数进行输出。示例代码如下:
Python 2:
print(3, 4)
(3,4)
Python 3:
>>> print(3,4)
3 4
2.Python 3默认使用UTF-8编码
Python 2默认使用ASCII编码,Python 3中默认使用UTF-8编码,以更好地实现对中文或其他非英文字符的支持。例如,输出“北京天安门”,Python 2和Python 3的示例与结果如下:
Python 2:
>>> str="北京天安门"
>>> str
'\xe5\x8c\x97\xe4\xba \xac\xe5\xa4 \xa9\xe5\xae \x89\xe9\x97\xa8'
Python 3:
>>> str = "北京天安门"
>>> str
'北京天安门'
3.除法运算
Python语言的除法运算包含“/” 和“/”这两个运算符,它们在Python 2和Python 3的使用介绍如下:
(1)运算符“/”:在Python2中,使用运算符“/”进行除法运算的方式和Java、C语言相似,整数相除的结果是一个整数,浮点数相除的结果是一个浮点数。但在Python 3中使用运算符“1"进行整数相除时,结果也会得到浮点数。示例代码如下:
Python 2:
>>>1/ 2 #整数相除
0
>>> 1.0/2.0 #浮点数相除
0.5
Python 3:
>>>1 /2
0.5
(2)运算符“//”: 运算符“//”也叫取整运算符,使用该运算符进行除法运算的结果总是一个整数。“//”运算符在Python 2和Python 3中的功能一致。示例代码如下:
Python 2:
>>>8//3
2
Python 3:
>>> 8//3
2
4.异常
Python 3版本中的异常处理与Python2版本主要有以下4点不同:
(1)在Python2中, 所有类型的对象直接被抛出;在Python3中, 只有继承自BaseException的对象才可以被抛出。
(2)在Python2中,捕获异常的语法是“except Exception,err”;在Python3中,引入了as关键字,捕获异常的语法变更为“except Exception as err”
(3)在Python 2中,处理异常可以使用“raise Exception, args"或者“raise Exception(args)”两种语法;在Python3中,处理异常只能使用“raise Exception(args)”。
(4)Python3取消了异常类的序列行为和message属性。
Python2和Python3处理异常的示例代码如下:
Python 2:
>>> try:
... raise TypeError, "类型错误"
... except TypeError, error:
... print error.message
...
类型错误
Python 3:
>>> try:
... raise TypeError("类型错误")
... except TypeError as error:
... print(error)
...
类型错误
以上只列举了Python2与Python 3的部分区别,更多内容见官方文档htps://docs.python.org/3/whatsnew/3.0.html。
作为一门功能强大且简单易学的编程语言,Python 主要应用在下面几个领域。
1.Web开发
Python是Web开发的主流语言,与JS、PHP等广泛使用的语言相比,Python 的类库丰富、使用方便,能够为一个需求提供多种方案;此外,Python支持最新的XML技术,具有强大的数据处理能力,因此Python在Web开发中占有一席之地。Python为Web开发领域提供的框架有Django、Flask、Tormado、Web2py 等。
2.科学计算与数据分析
随着NumPy、SciPy、Matplotib 等众多库的引人和完善,Python 越来越适合进行科学计算和数据分析。Python不仅支持各种数学运算,还可以绘制高质量的2D和3D图像。与科学计算领域最流行的商业软件Matlab相比,Python的应用范围更广泛,可以处理的文件和数据的类型更丰富。
3.自动化运维
早期运维工程师大多使用Shell编写脚本,但如今Python几乎可以说是运维工程师的首选编程语言。在很多操作系统中,Python是标准的系统组件,大多数Linux发行版和Mac OS X都集成了Python,可以在终端下直接运行Python。Python标准库包含了多个调用操作系统功能的库:通过第三方软件包pywin32,Python能够访问Windows 的COM服务及其他Windows API;通过IronPython,Python 程序能够直接调用.NET Framework。一般来说,用Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性这几方面都优于Shell脚本。
4.网络爬虫
网络爬虫可以在很短的时间内,获取互联网上有用的数据,节省大量的人力资源。Python自带的urllib库、第三方requests库、Scrapy框架、pyspider 框架等让网络爬虫变得非常简单。
5.游戏开发
很多游戏开发者先利用Python或Lua编写游戏的逻辑代码,再使用C++编写诸如图形显示等对性能要求较高的模块。Python标准库提供了Pygame 模块,用户使用该模块可以制作2D游戏。
6.人工智能
Python是人工智能领域的主流编程语言,人工智能领域神经网络方向流行的神经网络框架TensorFlow就采用了Python 语言。
超全面的测试IT技术课程,0元立即加入学习!有需要的朋友戳:
腾讯课堂测试技术学习地址
欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。