python2和python3有什么差别?
我主要从两方面来说明二者之间的差别:
在语法上的主要差别:
1. Print函数
在python2中print是一种输出的语句,即直接print “Hello, World!”就可以;但是在python3中print是作为一个函数来调用的,print(“Hello, World!”)
2. 编码方式
在python2中默认的编码方式是ASCII,因此如果在代码中有出现中中文,就不得不在代码的头部进行编码的声明“# -*- coding: utf-8 -*-”;而在python3中的默认编码方式是utf-8,因此对各种语言的兼容性就很好。
3. 除法运算
python2中进行整数之间的除法,其结果也会是整数。但是python3会默认为float类型的除法,如对于3 / 2,python2结果为1;python3结果为1.5
4. xrange
python2,常常会用xrange()来创建一个可迭代的对象,通常用在for循环中。但是在python3中将xrange换成了range,通常情况下range会比xrange快。
上面只是列举了部分常见的区别,向知道更多可以自行查阅。由于python 3引入了一些与python 2不兼容的关键字和特性,因此官方方便开发者在python2和python3之间的转换,引入了__futrue__模块。在Python 2中,可以通过内置的__future__模块导入这些新内容。
在支持上的差别
起初python3刚推出的时候,因为支持python2的包比较多,所以python3一直没有推广来开,但随之针对python3开发的包越来越多,同时python官方也鼓励人们使用python3。因此python3的普及率就逐渐超过了python2
目前官方已经宣布对python2.7,即python2的最后一版,的支持包括后续开发和bug修复将在2020年完全停止。同时科学计算库Numpy也宣布从2019年1月1日起将不再支持python2,此外Python Web框架Django发布的2.0版本,也不再支持python2,Redhat也宣布放弃了支持python2。因此,建议新入门python的同学就从python3学起。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有